golang 数学计算库,转载

package main

import (
	"fmt"
	"github.com/robaho/fixed"
)

func main() {
	price, err := fixed.NewSErr("136.02")
	if err != nil {
		panic(err)
	}

	quantity := fixed.NewF(3)

	fee, _ := fixed.NewSErr(".035")
	taxRate, _ := fixed.NewSErr(".08875")

	subtotal := price.Mul(quantity)

	preTax := subtotal.Mul(fee.Add(fixed.NewF(1)))

	total := preTax.Mul(taxRate.Add(fixed.NewF(1)))

	fmt.Println("Subtotal:", subtotal)                      // Subtotal: 408.06
	fmt.Println("Pre-tax:", preTax)                         // Pre-tax: 422.3421
	fmt.Println("Taxes:", total.Sub(preTax))                // Taxes: 37.482861375
	fmt.Println("Total:", total)                            // Total: 459.824961375
	fmt.Println("Tax rate:", total.Sub(preTax).Div(preTax)) // Tax rate: 0.08875
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值