DecimalFormat和双打

时间:2009-04-29 04:30:21

标签: java formatting double

DecimalFormat解析Double.toString()代表(可能是科学和财务格式)。

为什么Sun选择了这种方法,而不是直接将double转换为String?

PS: 更具体。为什么DecimalFormat内部使用Double.toString()来格式化Double,而不是格式化Double本身的内部表示?

5 个答案:

答案 0 :(得分:2)

DecimalFormat允许您为其提供格式化模式,从而为您提供更多的格式控制。

答案 1 :(得分:0)

可能会像“Double.toString(withSomeParameters)”那样,而不是使用DecimalFormat。

我认为原因可能是i18n。在某些地方你可以键入1,800.39 ..而在其他地方你可以输入1.800,39

答案 2 :(得分:0)

我不是说“直接转换”的意思,但toString()始终只是调试信息!您不应该使用它来显示前端中的值。使用DecimalFormat进行解析和格式化!

答案 3 :(得分:0)

也许Sun遵循DRY原则。

答案 4 :(得分:-1)

对于财务应用程序,请改用BigDecimal,以便控制舍入模式和精度。