【发布时间】:2012-11-08 06:10:17
【问题描述】:
如果输入一个数字(浮点数),例如 12500,则该数字将转换为货币格式为 12,500.00。格式为“###,###,###.##”。如何使用 java 和 没有 任何 apache utils 或类似库来做到这一点。每 3 位数字后将重复一个逗号,小数点将四舍五入并显示为小数点后 2 位数字。如果 0.5 它应该是 0.50 并且 如果是 0.569,它应该是 0.57。有什么办法可以通过正则表达式什么的解决这个问题吗?
【问题讨论】:
-
浮点数永远不能代表货币。如果您的软件接受浮点数作为参数并打算将其转换为货币,则它已经是一个错误。
-
float不应用于货币(或大多数事物),因为它的精度很差。我建议你使用double、longcents 或BigDecimal
标签: java regex string number-formatting