我希望在使用GO语言进行舍入后打印小数点后的两位数字。 例如1.222225应打印为1.22 1.356应打印为1.36
我该怎么做?
答案 0 :(得分:22)
答案 1 :(得分:5)
如果您使用fmt.Printf
函数,格式化字符串中的语法可以让您将浮点数打印到给定的精度级别,如下所示。一般语法是%.[numberofdigits]f
。
示例:
fmt.Printf("%.2f" 1.2222225) // output: 1.22
fmt.Printf("%.2f", 1.356) // output: 1.36
有一点需要注意的是,该轮不会“携带”
fmt.Printf("%.1f", 1.346)
输出1.3,而不是1.4。此外,负数将按预期运行:
fmt.Printf("%.2f", -1.356) // output: -1.36
答案 2 :(得分:0)
您可能希望使用固定.00精度的Decimal64p2
十进制类型 - https://github.com/strongo/decimal
与fmt.Printf("%.1f", 1.346)
相比,它将正确舍入。
存储确切金额是有效的。