float 导致的计算精确度问题
程序员文章站
2022-04-25 15:54:01
...
java 中float 计算精确度问题,解决方法是利用BigDecimal 如下程序得到两个不同的结果
import java.math.BigDecimal;
/**
* @author xiangqi
*
*/
public class Test {
/**
* <dl>
* <dt><b>方法功能概要</b></dt>
* <dd></dd>
* </dl>
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Float a = 108f;
Float b = 1.05f;
Float c = new BigDecimal(a.toString()).multiply(new BigDecimal(b.toString())).floatValue();
System.out.println(c);
Float d = a * b;
System.out.println(d);
}
}