欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数值精确计算,java中的float-double-int等计算误差

程序员文章站 2022-03-26 17:01:07
...

=

=

=

 

            /**
             * 输出结果:
             * float=4.68, hhhh=467
             * 居然有这种错误。看来以后需要精确的计算的地方,都要用BigNumber了。
             */
float = 4.68
hhhh = float*100;

 

修正好的方法:

 

    public static int flot2int(float f, int multiply) {
        BigDecimal bigDecimal = new BigDecimal(new String(f + ""));
        bigDecimal = bigDecimal.multiply(new BigDecimal(multiply + ""));
        return bigDecimal.intValue();
    }

 

 

=

=

=