3

我正在编写一个金融应用程序,其中我将一个值作为字符串获取,并且需要检查该值是否可以适合 double 或 BigDecimal 而不会丢失数据。

确定字符串值是否应转换为双精度或 BigDecimal 的最佳方法是什么?

4

1 回答 1

12

如果它是一个财务价值,您几乎应该总是使用BigDecimal- 或使用具有隐式缩放值的整数(例如存储美分而不是美元)。

浮点二进制点 ( float, double) 几乎适合金融应用程序,因为这些值通常具有精确的十进制值,而这些值不能以浮点二进制点精确表示。

这并不意味着double它是一种无用的数据类型——它适用于自然的、连续的值,例如距离。这对于通常以十进制指定的“人工”离散值来说并不好。

于 2013-04-30T07:19:13.373 回答