首页 > 编程 > Java > 正文

Java中常用的保留小数的方法

2019-11-06 07:15:38
字体:
来源:转载
供稿:网友

1、DecimalFormat

public static void main(String[] args) { DecimalFormat df = new DecimalFormat("#.###"); double d = 3.1415; System.out.PRintln(df.format(d)); }

DecimalFormat位于java.text包下该方法会进行四舍五入,小数点后有几个#就保留几位,如果#的个数超过小数的位数,则输出就是原小数,而不会自动补0;如果要自动补0,可将#改为0:

DecimalFormat df = new DecimalFormat("#.000000");

这时输出回是3.141500

2、BigDecimal

public static void main(String[] args) { double d = 3.1415; 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); // 去尾
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表