xnum

package
v0.3.54 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2024 License: BSD-3-Clause-Clear Imports: 3 Imported by: 0

Documentation

Overview

数值运算相关支持包

Index

Constants

View Source
const EARTH_RADIUS = 6378.137

地球半径大小 用于计算两个经纬度间的距离

View Source
const FLOAT_EQUAL_MIN = 0.0000001

浮点数比较相等时的最小值

因为浮点数的精度存在丢失问题,所以浮点数的相同不能比较绝对的相等,而应该是在某一范围内相同

所以此处的相同浮点数范围表示为 0.000,000,1

Variables

This section is empty.

Functions

func Discount

func Discount(price float64, discount uint8) float64

计算金额的折扣费率 此处使用math.Floor进行向下取整的方式,即低于0.01的部分直接舍弃

price		待计算的金额
discount	费率,0~100

func Divide

func Divide(sum1, sum2 float64) float64

金额 除以

sum1	被除数
sum2	除数

func EarthDistance

func EarthDistance(lat1, lng1, lat2, lng2 float64) float64

计算经纬度之间的距离【返回单位:m】 计算公式:C = sin(LatA*Pi/180)*sin(LatB*Pi/180) + cos(LatA*Pi/180)*cos(LatB*Pi/180)*cos((MLonA-MLonB)*Pi/180)

lat1	坐标点1的纬度
lng1	坐标点1的经度
lat1	坐标点2的纬度
lng2	坐标点2的经度

func EarthDistanceGps

func EarthDistanceGps(a1, a2 *GPS) float64

计算两点的距离【返回单位:m】

a1	坐标点a1的经纬度
a2	坐标点a2的经纬度

func Equally

func Equally(money float64, len int) (float64, float64)

金额平分拆分 小于 等于 1 的均直接返回money

money	金额
len		拆分份数

func InArray added in v0.1.29

func InArray(s any, arr any) bool

判断s是否在arr数组中 PS: 类型不统一的话也会返回false,如s为int,但是arr不为[]int则也会返回false

s	待判断的变量,支持类型:bool,string,float64,float32,int,uint,int8,uint8,int16,uint16,int32,uint32,int64,uint64
arr	待判断的数组,需要对应s的类型,即s为string时arr为[]string

func InDistance added in v0.1.8

func InDistance(p GPS, dic []GPS) bool

判断坐标点p是否在多边形dic区域内【坐标需要为统一坐标系坐标,即p和dic都是高德/百度/GPS等坐标】

p	要判断的坐标点
dic	多边形经纬度

func IsEqualFloat

func IsEqualFloat(f1, f2 any) bool

判断两个浮点数是否相等【json.Number时,f1和f2都会转化为float64进行计算】

f1	待比较的浮点数
f2	待比较的浮点数

func Price

func Price(v float64) float64

金额字段取整(保留两位小数)(舍弃)

v	需要保留位数的金额

func PriceHalf

func PriceHalf(v float64) float64

金额字段取整(保留两位小数)(四舍五入)

v	需要保留位数的金额

func Regedit added in v0.2.1

func Regedit(c *Config)

模块注册函数,用于注入错误处理逻辑

func RemoveByteArray added in v0.2.1

func RemoveByteArray(s byte, arr []byte) []byte

移除数组中的元素

s       待移除的变量
arr     待移除变量的数组

func RemoveComplex128Array added in v0.2.1

func RemoveComplex128Array(s complex128, arr []complex128) []complex128

移除数组中的元素

s       待移除的变量
arr     待移除变量的数组

func RemoveComplex64Array added in v0.2.1

func RemoveComplex64Array(s complex64, arr []complex64) []complex64

移除数组中的元素

s       待移除的变量
arr     待移除变量的数组

func RemoveFloat32Array added in v0.2.1

func RemoveFloat32Array(s float32, arr []float32) []float32

移除数组中的元素

s	待移除的变量
arr	待移除变量的数组

func RemoveFloat64Array added in v0.2.1

func RemoveFloat64Array(s float64, arr []float64) []float64

移除数组中的元素

s	待移除的变量
arr	待移除变量的数组

func RemoveInt16Array added in v0.2.1

func RemoveInt16Array(s int16, arr []int16) []int16

移除数组中的元素

s       待移除的变量
arr     待移除变量的数组

func RemoveInt32Array added in v0.2.1

func RemoveInt32Array(s int32, arr []int32) []int32

移除数组中的元素

s       待移除的变量
arr     待移除变量的数组

func RemoveInt64Array added in v0.2.1

func RemoveInt64Array(s int64, arr []int64) []int64

移除数组中的元素

s       待移除的变量
arr     待移除变量的数组

func RemoveInt8Array added in v0.2.1

func RemoveInt8Array(s int8, arr []int8) []int8

移除数组中的元素

s       待移除的变量
arr     待移除变量的数组

func RemoveIntArray added in v0.2.1

func RemoveIntArray(s int, arr []int) []int

移除数组中的元素

s       待移除的变量
arr     待移除变量的数组

func RemoveJsonNumberArray added in v0.2.1

func RemoveJsonNumberArray(s json.Number, arr []json.Number) []json.Number

移除数组中的元素

s	待移除的变量
arr	待移除变量的数组

func RemoveRuneArray added in v0.2.1

func RemoveRuneArray(s rune, arr []rune) []rune

移除数组中的元素

s       待移除的变量
arr     待移除变量的数组

func RemoveStringArray added in v0.2.1

func RemoveStringArray(s string, arr []string) []string

移除数组中的元素

s       待移除的变量
arr     待移除变量的数组

func RemoveUint16Array added in v0.2.1

func RemoveUint16Array(s uint16, arr []uint16) []uint16

移除数组中的元素

s       待移除的变量
arr     待移除变量的数组

func RemoveUint32Array added in v0.2.1

func RemoveUint32Array(s uint32, arr []uint32) []uint32

移除数组中的元素

s       待移除的变量
arr     待移除变量的数组

func RemoveUint64Array added in v0.2.1

func RemoveUint64Array(s uint64, arr []uint64) []uint64

移除数组中的元素

s       待移除的变量
arr     待移除变量的数组

func RemoveUint8Array added in v0.2.1

func RemoveUint8Array(s uint8, arr []uint8) []uint8

移除数组中的元素

s	待移除的变量
arr	待移除变量的数组

func RemoveUintArray added in v0.2.1

func RemoveUintArray(s uint, arr []uint) []uint

移除数组中的元素

s       待移除的变量
arr     待移除变量的数组

func RemoveUintptrArray added in v0.2.1

func RemoveUintptrArray(s uintptr, arr []uintptr) []uintptr

移除数组中的元素

s       待移除的变量
arr     待移除变量的数组

Types

type Config added in v0.2.1

type Config struct {
	PanicLog func(msg string, err error) // 错误日志记录
}

错误记录模块

type GPS

type GPS struct {
	Latitude  float64 `json:"latitude" form:"latitude" gorm:"column:latitude;type:double;comment:纬度"`    // 纬度  国内数值较小的数字4~53.5
	Longitude float64 `json:"longitude" form:"longitude" gorm:"column:longitude;type:double;comment:经度"` // 经度  国内数值较大的数字73.5~135
	// contains filtered or unexported fields
}

经纬度GPS坐标

func SetGps added in v0.3.25

func SetGps(lat, lng float64) *GPS

设置GPS坐标

lat	纬度,浮点数,范围为-90~90,负数表示南纬
lng	经度,浮点数,范围为-180~180,负数表示西经

func SetGpsOther added in v0.3.25

func SetGpsOther(lat, lng float64, typ uint8) *GPS

设置地图坐标

lat	纬度,浮点数,范围为-90~90,负数表示南纬
lng	经度,浮点数,范围为-180~180,负数表示西经
typ	坐标类型 0-GPS坐标 1-火星坐标系 2-百度坐标系

func (*GPS) Bd09 added in v0.3.25

func (c *GPS) Bd09() *GPS

获取百度坐标

func (*GPS) Gcj02 added in v0.3.25

func (c *GPS) Gcj02() *GPS

获取火星坐标

func (*GPS) Gps added in v0.3.25

func (c *GPS) Gps() *GPS

获取GPS坐标

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL