golang整数与小数间的加减乘除

Posted lz0925

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang整数与小数间的加减乘除相关的知识,希望对你有一定的参考价值。

我们假设你需要 整数与小数一起进行运算,或者 整数除以整数 得到小数这种运算

如果你使用了decimal, 那么之后所有的运算你都必须使用decimal,

因为通过它计算出来的结果的类型统统为decimal.Decimal,与float64和int无法一起运算。

使用过程如下:

  • 首先你需要安装 decimal,
    运行: go get github.com/shopspring/decimal
  • 在运算开始前,设置你需要的精确的小数位数,自动四舍五入
    decimal.DivisionPrecision = 2 // 保留两位小数,如有更多位,则进行四舍五入保留两位小数 

加法 Add

    2.1 + 3 float和int相加
    var num1 float64 = 3.1
    var num2 int = 2
    d1 := decimal.NewFromFloat(num1).Add(decimal.NewFromFloat(float64(num2)))   
    // 这里注意了,此时我们使用一个浮点数 加上 一个整数
    // 这里num2 是整数,所以我们通过float64()将它强转为小数,然后进行计算即可,
    // 如果两个都是小数则无需使用float64()
    // 如果是两个整数也都无需使用float64(), 16/4=4, 16/5=3.2  他们的结果都是 decimal.Decimal 类型,可以通过reflect.TypeOf()方法进行测试, 

减法 Sub,乘法 Mul, 除法 Div 用法均与上述类似,不再一一列举。

以上是关于golang整数与小数间的加减乘除的主要内容,如果未能解决你的问题,请参考以下文章

python浮点数与整数间的转化

JS中如何实现小数的加减

shell编程中两个非整数变量如何做加减乘除运算

用java怎样编写加减乘除,从键盘输入,例如:1+2按回车之后可以运算,小数整数都可以

用java设计一个计算器 1.可以没有界面,但要有输入和输出 2.整数,小数,加减乘除,求余,括号

Js中带有小数的值相加减的解决方案