0

DecimalFormat解析Double.toString()表示(可以是科学和金融格式)。

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

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

4

5 回答 5

2

DecimalFormat 通过允许您为其提供格式模式,使您可以更好地控制格式。

于 2009-04-29T04:34:32.090 回答
0

也许 Sun 正在遵循DRY原则。

于 2009-05-23T23:11:08.007 回答
0

可能他会问像“Double.toString(withSomeParameters)”这样的工作,而不是使用 DecimalFormat。

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

于 2009-04-29T04:54:26.023 回答
0

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

于 2009-04-29T07:49:38.940 回答
-1

对于金融应用程序,请改用 BigDecimal,它可以让您控制舍入模式和精度。

于 2009-04-29T09:04:01.117 回答