[b][color=red]开发者博客:[url]http://www.developsearch.com[/url][/color][/b]
/**
* 数字型运算
*
* @author chenxin
* @version [版本号, 2012-5-21]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class NumeralUtil {
/**
* 整数相除,计算百分比,结果保留整数位
*
* @param a
* @param b
* @return
*/
public static String getPercentNoPercent(int a, int b) {
if (b == 0) {
return "0";
} else {
Double c = new Double(a);
Double d = new Double(b);
double e = c.doubleValue() / d.doubleValue();
DecimalFormat df2 = new DecimalFormat("##%");
String result = df2.format(new Double(e));
return result.replaceAll("\\%", "");
}
}
/**
* double 相除,计算百分比,结果保留整数位
*
* @param a
* @param b
* @return
*/
public static String getDoublePercent(double a, double b) {
if (b == 0) {
return "0";
} else {
Double c = new Double(a);
Double d = new Double(b);
double e = c.doubleValue() / d.doubleValue();
DecimalFormat df2 = new DecimalFormat("##%");
String result = df2.format(new Double(e));
return result.replaceAll("\\%", "");
}
}
/**
* 保留小数点后4位数字
*
* @param a
* @return
*/
public static String get4numeral(double a) {
DecimalFormat df = new DecimalFormat("0.0000");
return df.format(a);
}
/**
* 将结果以万为单位保留2位小数.四舍五入 b 单位指,例如 一万为单位 b=10000
*
* @param a
* @param b
* @return
*/
public static String getFormatterNumeral(double a, double b) {
DecimalFormat df2 = new DecimalFormat("0.00");
return df2.format(a / b);
}
/**
* 两个BigDecimal 相除
*
* @param a
* @param b
* @param pot 保留位数
* @return
*/
public static double getBigDecimalDivide(BigDecimal a, BigDecimal b, int pot) {
return a.divide(b, pot, BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* 两个int 相除
*
* @param a
* @param b
* @param pot
* @return
*/
public static double getIntDivide(int a, int b, int pot) {
if (b == 0) {
return 0;
} else {
BigDecimal num1 = new BigDecimal(a);
BigDecimal num2 = new BigDecimal(b);
return num1.divide(num2, pot, BigDecimal.ROUND_HALF_UP).doubleValue();
}
}
/**
* 提供小数位四舍五入处理
*
* @param v 需要四舍五入的数字
* @param scale 小数点后保留几位
* @return 四舍五入后的结果
*/
public Double round(double v, int scale) {
String temp = "#,##0.";
for (int i = 0; i < scale; i++) {
temp += "0";
}
new java.text.DecimalFormat(temp).format(v);
return new Double(new java.text.DecimalFormat(temp).format(v));
}
public static void main(String[] args) {
System.out.println(getPercentNoPercent(3029,12974));
}
}
543

被折叠的 条评论
为什么被折叠?



