/** * Created by Administrator on 2017/2/27 0027. * Tom买了一个$1.10的东西,付了$2.00,给他找零 */ public class OddChange { public static void main(String[] args) { System.out.println(2.00-1.10); //计算机的浮点型不稳定 = =!//TODO:测试1 BigDecimal bigDecimal = new BigDecimal(2.00); BigDecimal bigDecimal1 = new BigDecimal(1.10); System.out.println(bigDecimal.subtract(bigDecimal1)); //TODO:测试2 System.out.println(bigDecimal); System.out.println(bigDecimal1); System.out.println(new BigDecimal("2.00").subtract(new BigDecimal("1.10"))); //TODO:测试3 System.out.println((double)(2000-1100)/1000); //TODO:测试4,默认最后一位不为零 // System.out.println((2000-1100)+"cents"); // // System.out.println(bigDecimal-bigDecimal1); 不可以直接加减法 // int result = bigDecimal.compareTo(bigDecimal1); // System.out.println(result); 正确的比较bigDecimal的方法 } } 0.8999999999999999 0.899999999999999911182158029987476766109466552734375 2 1.100000000000000088817841970012523233890533447265625 0.90 0.9 测试3最完美,涉及到精度问题不要用float、double
找零问题 java
最新推荐文章于 2022-04-25 20:28:31 发布