- Java 中应该使用什么数据类型来代表价格?
如果不是特别关心内存和性能的话,使用BigDecimal,否则使用预定义精度的 double 类型。
BigDecimal一共有4个构造方法:
-BigDecimal(int) 创建一个具有参数所指定整数值的对象。
-BigDecimal(double) 创建一个具有参数所指定双精度值的对象。
-BigDecimal(long) 创建一个具有参数所指定长整数值的对象。
-BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。
float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。
网友评论