计算两个int类型数据相除得到的百分比,保存两位小数,如果两位小数是0则取到有数字为止,如0.0000007%,不是转成
0.00%,而是转成0.0000007%
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51import java.math.BigDecimal; import java.text.DecimalFormat; /** * 处理数据的工具类 * 公用的处理数据的方法写在这里 * Created by shw on 2018/5/4 0004. */ public class DataHandleUtil { /** * 占比计算保留小数的位数方法 * 转成百分数 * 当前数除以总数 * @param num1 ,num2 num1/num2 * @return rate 保留2位小数的 */ public static String division(int num1,int num2){ String rate="0.00%"; //定义格式化起始位数 String format="0.00"; if(num2 != 0 && num1 != 0){ DecimalFormat dec = new DecimalFormat(format); rate = dec.format((double) num1 / num2*100)+"%"; while(true){ if(rate.equals(format+"%")){ format=format+"0"; DecimalFormat dec1 = new DecimalFormat(format); rate = dec1.format((double) num1 / num2*100)+"%"; }else { break; } } }else if(num1 != 0 && num2 == 0){ rate = "100%"; } return rate; } /** * 把上面得到的百分比转为字符串类型的小数 保留两位小数 * @author shw */ public static BigDecimal perToDecimal(String percent){ String decimal = percent.substring(0,percent.indexOf("%")); BigDecimal bigDecimal = new BigDecimal(decimal); bigDecimal.divide(new BigDecimal("100"), 4, BigDecimal.ROUND_HALF_UP); return bigDecimal; } }
最后
以上就是爱笑大象最近收集整理的关于JAVA分享一个计算百分比的方法的全部内容,更多相关JAVA分享一个计算百分比内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复