java中的金额千万不要使用double类型
下文笔者讲述日常开发中注意事项,如下所示
使用double型相减的异常
及使用BigDecimal后的效果
在日常开发中,我们切记少用float,double 因为存在精度损失的问题, 所以在金额定义时,笔者建议使用BigDecimal类型例:
使用double型相减的异常
及使用BigDecimal后的效果
package com.java265.other; import java.math.BigDecimal; public class TestDouble { /** * www.java265.com double示例分享 */ public static void main(String[] args) { double a = 0.08; double b = 0.09; System.out.print("b-a:"); System.out.println(b - a); System.out.println("======修正后的效果======"); BigDecimal c = BigDecimal.valueOf(0.08); BigDecimal d = BigDecimal.valueOf(0.09); System.out.print("d-c:"); System.out.println(d.subtract(c)); } } ------运行以上代码,将输出以下信息------ b-a:0.009999999999999995 ======修正后的效果====== d-c:0.01
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。