double类型数相除保留两位⼩数参考⽂章:
⼀、需要使⽤BigDecimal来实现
st.math;
2
3import java.math.BigDecimal;
4
5public class TestJiSuan {
6
7public static void main(String[] args) {
8double a = 1;
9double b = 3;
10double c = a / b;
11        System.out.println(c);                          //0.3333333333333333
12        System.out.println(divide(a, b, 2));      //0.33
13
14int total = 21;
15int count = 9;
16double average = total / count;
17        System.out.println(average);                    //2.0
18        System.out.println((double)total);              //21.0
19        System.out.println(divide((double)total, (double)count, 2)); //2.33
20    }
21
22/**
23    * 两个double类型的数相除,保留两位⼩数
24    * @param a
25    * @param b
26    * @param scale
27    * @return
28*/
29public static double divide(double a, double b, int scale){
30        BigDecimal bd1 = new String(a));
31        BigDecimal bd2 = new String(b));
32return bd1.divide(bd2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
33    }
34 }
⼆、DecimalFormat
参考⽂章:
/**
* 计算结果百分⽐,保留1位⼩数
*
* @param a 除数
bigdecimal除法保留小数* @param b 被除数
* @return
*/
private static String calculateResultOfPercent(Integer a, Integer b) {
if (b == 0) {
return "0%";
}
DecimalFormat df = new DecimalFormat("#.#%");
return df.format((double) a / b);
}
---

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