Java:小数操作
目录
- 1、将数字类型转化为浮点型,并且保留两位小数
- 2、BigDecimal
- 2.1 比较大小
- 6.2 四则运算
- 6.3 类型转换
1、将数字类型转化为浮点型,并且保留两位小数
List<? extends Number> list = Arrays.asList(0, -10003.880000, 0.200000, 17.830000, 82.940000, 28.330000, 90.740000, 4831970.040000, 127187.400000, 49);
for (Number number : list) {float floatValue = Float.parseFloat(String.valueOf(number));DecimalFormat df=new DecimalFormat("0.00");System.out.println(df.format(floatValue));
}
2、BigDecimal
2.1 比较大小
if(a.compareTo(b) == -1){System.out.println("a小于b");
}if(a.compareTo(b) == 0){System.out.println("a等于b");
}if(a.compareTo(b) == 1){System.out.println("a大于b");
}if(a.compareTo(b) > -1){System.out.println("a大于等于b");
}if(a.compareTo(b) < 1){System.out.println("a小于等于b");
}
6.2 四则运算
BigDecimal a = new BigDecimal(3);
BigDecimal b = new BigDecimal(2);// 加法
a = a.add(b);// 减法
a = a.subtract(b);// 乘法
a = a.multiply(b);// 除法
a = a.divide(b);// 取反
new BigDecimal(10).negate() // --- > -10
6.3 类型转换
String 转 BigDecimal
public static void main(String[] args) {String s = "15.25";//方式一BigDecimal bigDecimal = new BigDecimal(s);//方式二BigDecimal bigDecimal1 = NumberUtils.createBigDecimal(s);
}
BigDecimal 转 String
public static void main(String[] args) {BigDecimal bigDecimal = new BigDecimal(15.55);String s = bigDecimal.toString();
}