我想在GO语言中对数字进行四舍五入并保留两位小数输出..
例如,1.222225应该打印为1.22
1.356应该打印为1.36
我该怎么做呢?
fmt.Printf
函数,可以在格式化字符串中使用语法以按给定的精度打印浮点数,如下所示。 一般的语法是% [数字] f
。 fmt.Printf(“%.2f”1.2222225)//输出:1.22
fmt.Printf(“%.2f”,1.356)//输出:1.36
需要注意的一点是不进行四舍五入:
fmt.Printf(“%.1f”,1.346)
将输出1.3,而不是1.4。 另外,负数将按预期方式处理:
fmt.Printf(“%.2f”,-1.356)//输出:-1.36
你可能想要使用带有固定 .00 精度的 Decimal64p2
十进制类型 - https://github.com/strongo/decimal
与 fmt.Printf("%.1f", 1.346)
相比,它会正确地四舍五入。
它非常适合存储精确的货币金额。