float 导致的计算精确度问题
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 stubFloat 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);}}