java中的浮点型,以及如何处理高精度运算

    技术2022-07-15  84

    第一点:在计算机中默认浮点数是double型,所以float定义时必须加个f或F。(有些东西默认就是默认,我们没办法深究,例如在计算byte取值范围时1000 0000就代表-128,别问我为什么,你去问规定的人去) 第二点:在精确运算时最好别用double float。因为会有舍入误差。

    double a=3.0; double b=2.9; float c=3.0f; float d=2.9f; System.out.println(a-b); System.out.println(c-d); //舍入误差太明显了。

    处理高精度的时候可以用BigDecimal类,然而我测试的时候发现还是会丢失精度,查了查说我们需要传String类型,发现处理精度可以了

    Processed: 0.011, SQL: 9