android float类型保留两位小数_Golang四舍五入保留两位小数

e794c51bac4d79ae7619da62026e31bb.png

Sprintf

四舍六入:

value

第三位为5且5之后有有效数字,满足五入:

value

第三位为5且5之后没有有效数字:

网上有人说,第二位为奇数则进位,第二位为偶数则舍去,例如:

value

但是:

value

所以,如果想满足正常的四舍五入逻辑,最好不要使用Sprintf处理。

math.Trunc

fmt

以上结果显示符合四舍五入,但是偶尔会出现精度问题:

fmt

同样使用Trunc,稍作调整:

n10 

符合四舍五入规则。

如果要固定显示两位小数,需转换为string类型,前提是传入的数值,已经做过两位小数处理,否则依旧有进位问题:

value 

公众号:李田路口