java 两个数相除后四舍五入并保留两位小数

2024-12-20 08:35:03
推荐回答(2个)
回答1:


1  double f = 3.1516;
BigDecimal b = new BigDecimal(f);
2   double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()
new java.text.DecimalFormat("#.00").format(3.1415926)


3   double d = 3.1415926;
String result = String.format("%.2f", d);
// %.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型。


4   Math.round(5.2644555 * 100) * 0.01d;
//String.format("%0" + 15 + "d", 23) 23不足15为就在前面补0

1  方法点拨求近似数时:保留整数,表示精确到个位;保留一位小数,表示精确到十分位;保留两位小数,表示精确到百分位……
2、保留一位小数
如果保留一位小数,就要把第二、三位小数省略。
在表示近似数时,小数末尾的0不能去掉。 

3、保留整数部分:
 ≈1

回答2:

// 方式一:
double f = 3.1516;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();

// 方式二:
new java.text.DecimalFormat("#.00").format(3.1415926);
// #.00 表示两位小数 #.0000四位小数 以此类推…

// 方式三:
double d = 3.1415926;
String result = String.format("%.2f", d);
// %.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型。

//方法四:
Math.round(5.2644555 * 100) * 0.01d;
//String.format("%0" + 15 + "d", 23) 23不足15为就在前面补0