我正在编写一个财务应用程序,我在其中获取一个字符串值,并且需要检查该值是否可以放入 double 或 BigDecimal 而不会丢失数据。
确定字符串值应转换为 double 还是 BigDecimal 的最佳方法是什么?
最佳答案
如果它是一个财务值,您几乎应该始终使用 BigDecimal
- 或使用具有隐式缩放值的整数(例如存储美分而不是美元)。
float 二进制小数点(float
、double
)几乎从不适合金融应用,因为值通常具有精确的小数 不能用二进制 float 精确表示的值。
这并不意味着 double
是无用的数据类型 - 它适用于自然的连续值,例如距离。这对于通常以十进制指定的“人工”离散值来说并不好。
关于java - 如何在 Java 中识别 BigDecimal 和 Double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16294315/