Java中常⽤的保留⼩数的⽅法
1、DecimalFormat
public static void main(String[] args) {
DecimalFormat df = new DecimalFormat("#.###");
double d = 3.1415;
System.out.println(df.format(d));
}
DecimalFormat位于包下该⽅法会进⾏四舍五⼊,⼩数点后有⼏个#就保留⼏位,如果#的个数超过⼩数的位数,则输出就是原⼩数,⽽不会⾃动补0;如果要⾃动补0,可将#改为0:
DecimalFormat df = new DecimalFormat("#.000000");
这时输出回是3.141500
2、BigDecimal
public static void main(String[] args) {
double d = 3.1415;
bigdecimal除法保留小数
BigDecimal bd = new BigDecimal(d + "");  // 注意传⼊的是字符串
bd = bd.setScale(2,BigDecimal.ROUND_CEILING);  // 进⼀
bd = bd.setScale(3,BigDecimal.ROUND_HALF_UP);  // 四舍五⼊
bd = bd.setScale(3,BigDecimal.ROUND_DOWN);  // 去尾
进⼀输出是3.15
四舍五⼊输出是3.142
去尾输出的是3.141
String.format
double d = 3.1415;
System.out.println(String.format("%.3f", d));  // 四舍五⼊
乘除法
double d = 3.1415;
System.out.println((int)(d*1000+0.5)/1000.0); // 四舍五⼊
System.out.println((int)(d*1000)/1000.0);  // 去尾

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。