目录
1. 概述
2.计算两个数的百分比
3.总结
1. 概述
日常编码中,经常遇到计算百分比的需求,我们经常的做法是:num乘以10000后取整再除以100(乘以10000的目的是保留两位小数),大量出现以上代码,会使代码质量以及可读性下降;所以以下方法应运而生。
2.计算两个数的百分比percentage:传入分子、分母和要保留的小数点位数
/**
* @author dongrui
* @Description: 百分比
* @date 2022/4/2411:12
*/
public class MyMath {
private MyMath() {
}
/**
* @param d1:分子;
* @param zs:分母;
* @param dot:要保留的小数
* @return
* @Description: 计算百分比
* @date 2022/4/2 16:50
*/
public static double percentage(double d1, double zs, int dot) {
double bs = Math.pow(10.0, toDouble(dot + 2, 0.0));
double cs = Math.pow(10.0, toDouble(dot, 0.0));
double num = 0.0;
if (zs > 0) {
num = Math.floor(d1 * bs / zs) / cs;
}
return num;
}
/**
* @param d1:分子;
* @param zs:分母;
* @param dot:要保留的小数
* @return
* @Description: 计算百分比
* @date 2022/4/2 16:50
*/
public static double percentage(int d1, int zs, int dot) {
double bs = Math.pow(10.0, toDouble(dot + 2, 0.0));
double cs = Math.pow(10.0, toDouble(dot, 0.0));
double num = 0.0;
if (zs > 0) {
num = Math.floor(d1 * bs / zs) / cs;
}
return num;
}
private static Double toDouble(Object value, Double defaultValue) {
if (null == value) {
return defaultValue;
}
return Double.parseDouble(value.toString());
}
3.总结
代码过于简单,没啥好总结的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)