数值精确计算,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(); }
=
=
=