新手问题 sprintf 格式化四舍五入的坑?

Jao · January 17, 2018 · Last by tinyfeng replied at January 18, 2018 · 3216 hits

irb(main):009:0> sprintf("%.6f",1.2355235) => "1.235523"

irb(main):010:0> sprintf("%.6f",1.2355236) => "1.235524"

很像前台 to_Fixed 四舍六入五成双 有没有好的解决方法?

irb(main):013:0> sprintf("%.6f",1.2355235) => "1.235523" irb(main):014:0> sprintf("%.6f",2.2355235) => "2.235524" 这次更诧异

"#{1.2355236.round 6}"

进度损失,转化为整数四舍五入再转化为小数就不会出现这个问题。

You need to Sign in before reply, if you don't have an account, please Sign up first.