Ruby大十进制舍入与固定数字

Abi*_*bid 6 ruby rounding

我想BigDecimal在红宝石中打圆.我知道我可以使用圆形功能但是

圆函数给出

(3.2).round(2) =>  3.2
Run Code Online (Sandbox Code Playgroud)

我想要

(3.2).round(2) =>  3.20
(3.20).round(2) =>  3.20
(3).round(2) =>  3.00
(3.578).round(2) =>  3.58
Run Code Online (Sandbox Code Playgroud)

我总是希望有2位小数,3.20不是3.2

任何想法如何完成这件事?

小智 17

试试这个:

'%.2f' % 3.2
=> "3.20"

'%.2f' % 3
=> "3.00"

'%.2f' % 3.578
=> "3.58"

etc.
Run Code Online (Sandbox Code Playgroud)


due*_*ers 5

例如,与Java的BigDecimal不同,Ruby的BigDecimal没有每个实例的精度.Ruby BigDecimal中3.2和3.20之间的区别只是格式化.