package main
import (
"encoding/json"
"fmt"
amountdecimal "github.com/jishulangcom/go-amount-decimal"
"math/big"
)
func main() {
var f float64 = 0.5
var s string = "1"
var i int = 2
var j json.Number = json.Number("3")
bi := new(big.Int).SetInt64(4)
var decimal int = 5
amountB1, errB1 := amountdecimal.New(f).Add(s).Sub(i).Mul(j).Div(bi).ToString(decimal)
fmt.Println("【基本用法】:", amountB1, errB1)
amountS1, errS1 := amountdecimal.NewFloat64(f).AddInt(i).ToString(decimal)
fmt.Println("【指定金额类型】:", amountS1, errS1)
amountM1, errM1 := amountdecimal.New(f).Add(s, i, j, bi).ToString(decimal)
fmt.Println("【多个金额传参】:", amountM1, errM1)
amount := 100
fee := 0.001
amountC1, errC1 := amountdecimal.New(amount).Mul(fee).ToString("BTC")
fmt.Println("【虚拟币精度计算1】:", amountC1, errC1)
amountC2, errC2 := amountdecimal.New(amount).Mul(fee).ToBigInt(amountdecimal.COIN_BTC)
fmt.Println("【虚拟币精度计算2】:", amountC2, errC2)
amountC3, errC3 := amountdecimal.BigIntActualAmount(amountC2, amountdecimal.COIN_BTC_DECIMAL)
fmt.Println("【虚拟币精度计算3】:", amountC3, errC3)
}