Calc

package module
v1.3.5 Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2023 License: GPL-3.0 Imports: 18 Imported by: 3

README

Calc from TuuzGoWeb

这是TuuzGoWeb中的Calc模块,用于数据类型转换,使用简单方便

使用方法

  • go.mod 中添加
require github.com/tobycroft/Calc v1.0.0
  • go get
go get -u github.com/tobycroft/Calc

功能

类型转换

  • 任意转换(Any2)
    • Calc.Any2....
      • ret:=Calc.Any2String(anyinterface)
      • ret:=Calc.Any2Float64(anyinterface)
      • ret:=Calc.Any2Int64(anyinterface)
    • Calc.Any2..._2
      • ret,err:=Calc.Any2Int64_2("string_number")
      • ret,err:=Calc.Any2Float64_2("string_number")

随机数(Rand)

  • int64随机数
    • Calc.Mt_rand(1000,9999)
  • 泛型随机数
    • Calc.Rand[int64|int](1000,9999)

进制转换(Hex/Dex)

  • 16进制转十进制
    • Calc.Hex2Dec("string")
  • 10进制转十六进制(string)
    • Calc.Dec2Hex(int64_number)

加解密

  • 小写MD5
    • Calc.Md5("string")
  • 大写MD5
    • Calc.Md5Up("String"")
  • Sha1
    • Calc.Sha1("string")
  • Sha256
    • Calc.Sha256("string")
  • Sha512
    • Calc.Sha512("string")
  • HmacSha256
    • Calc.HmacSha256("string","secret")

字符串生成(GenToken/OrderId)

  • 生成Token加密
    • stringval:=Calc.GenerateToken()
  • 生成订单号(符合微信订单号长度标准)
    • stringval:=Calc.GenerateOrderId()
    • 如需将当前秒下的订单数量归零则在main中协程调用
      • go Calc.RefreshBaseNum()

精密计算(Bc_)

  • 任意转换成精密数字
    • decimal_val:=Calc.todecimal(decimal_number1)
  • 任意数转换成正数
    • decimal_val:=Calc.Bc_abs(decimal_number1)
  • 任意数转换成绝对负数
    • decimal_val:=Calc.Bc_neg(decimal_number1)
  • 加法
    • decimal_val:=Calc.Bc_add(decimal_number1,decimal_number2)
    • decimal_val:=Calc.Bc_sum(decimal_number1,decimal_number2)
  • 减法
    • decimal_val:=Calc.Bc_min(decimal_number1,decimal_number2)
  • 乘法
    • decimal_val:=Calc.Bc_mul(decimal_number1,decimal_number2)
  • 除法
    • decimal_val:=Calc.Bc_div(decimal_number1,decimal_number2)
    • decimal_val:=Calc.Bc_div_round(decimal_number1,decimal_number2,round_number)
  • 精确小数点
    • decimal_val:=Calc.Bc_round(decimal_number1,decimal_number2)
  • 取余
    • decimal_val:=Calc.Bc_mod(decimal_number1,decimal_number2)
  • 开平方/开方
    • decimal_val:=Calc.Bc_pow(decimal_number1,decimal_number2)

文字处理

  • 隐藏电话号码
    • Calc.PhoneSafe("13012340000") //130****0000
  • 移除右侧字符
    • Calc.Chop("Hello World","World") //Hello

Documentation

Index

Constants

This section is empty.

Variables

View Source
var BaseNum = int64(0)

Functions

func Any2Float64

func Any2Float64(any interface{}) float64

func Any2Float64_2

func Any2Float64_2(any interface{}) (float64, error)

func Any2Int

func Any2Int(any interface{}) int

func Any2Int64

func Any2Int64(any interface{}) int64

func Any2Int64_2

func Any2Int64_2(any interface{}) (int64, error)

func Any2Int_2

func Any2Int_2(any interface{}) (int, error)

func Any2String

func Any2String(any interface{}) string

func AnyJoin added in v1.1.0

func AnyJoin[T int | int64 | float64 | decimal.Decimal](joins []T, sep string) string

func Bc_abs

func Bc_abs(num1 interface{}) decimal.Decimal

func Bc_add

func Bc_add(num1, num2 interface{}) decimal.Decimal

func Bc_div

func Bc_div(num1, num2 interface{}) decimal.Decimal

func Bc_div_round

func Bc_div_round(num1 interface{}, num2 interface{}, round int) decimal.Decimal

func Bc_min

func Bc_min(num1, num2 interface{}) decimal.Decimal

func Bc_mod

func Bc_mod(num1, num2 interface{}) decimal.Decimal

func Bc_mul

func Bc_mul(num1, num2 interface{}) decimal.Decimal

func Bc_neg added in v1.1.0

func Bc_neg(num1 interface{}) decimal.Decimal

func Bc_pow

func Bc_pow(num1, num2 interface{}) decimal.Decimal

func Bc_round

func Bc_round(num1 interface{}, round int) decimal.Decimal

func Bc_sum

func Bc_sum(num1, num2 interface{}) decimal.Decimal

func Chop

func Chop(s string, character_mask string) string

func Dec2Hex

func Dec2Hex(val int64) string

func Decimal

func Decimal(x float64, decimal int) string

func Float322Float64

func Float322Float64(num float32) float64

func Float642String

func Float642String(f64 float64) string

func Gene2Float64 added in v1.2.0

func Gene2Float64[T string | int | int32 | int64 | float32 | float64 | decimal.Decimal | *big.Int](v T) (float64, error)

func Gene2Int added in v1.2.0

func Gene2Int[T string | int | int32 | int64 | float32 | float64 | decimal.Decimal | *big.Int](v T) (int, error)

func Gene2Int64 added in v1.2.0

func Gene2Int64[T string | int | int32 | int64 | float32 | float64 | decimal.Decimal | *big.Int](v T) (int64, error)

func Gene2String added in v1.2.0

func Gene2String[T string | int | int32 | int64 | float64](v T) (string, error)

func GenerateOrderId

func GenerateOrderId() string

func GenerateToken

func GenerateToken() string

func Hex2Dec

func Hex2Dec(val string) int64

func Hexdec

func Hexdec(str string) (int64, error)

func HmacSha256

func HmacSha256(message string, secret string) string

func Int2String

func Int2String(num int) string

func Int642String

func Int642String(num int64) string

func Interface2String

func Interface2String(inter []interface{}) []string

func Max_from_string

func Max_from_string(str []string) float64

func Md5

func Md5(str string) string

func Md5Up

func Md5Up(str string) string

func Min_from_string

func Min_from_string(str []string) float64

func Mt_rand

func Mt_rand(min, max int64) int64

func PhoneSafe

func PhoneSafe(phone string) string

func Rand

func Rand[T int | int8 | int16 | int64 | int32 | uint8 | uint16 | uint32 | uint64 | float32 | float64 | time.Duration](min, max T) T

func RefreshBaseNum

func RefreshBaseNum()

func Round

func Round(x float64, decimal int) float64

func Seed

func Seed() int64

func Sha1

func Sha1(str string) string

func Sha256

func Sha256(str string) string

func Sha512

func Sha512(str string) string

func String2Float64

func String2Float64(str string) (float64, error)

func String2Int

func String2Int(str string) (int, error)

func String2Int64

func String2Int64(str string) (int64, error)

func ToDecimal

func ToDecimal(number interface{}) decimal.Decimal

func Transfer2Eth

func Transfer2Eth(value float64, decimal int) float64

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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