public class RoundUtil {
/**
*
* @title round4
* @description 四舍五入的方法
* @create_date May 9, 2012
* @param v 要保留小数的本数
* @param scale 要保留的小数位数
* @return 保留小数点几位后的新数
* 调用者最好校验一下你的传参不能为空或者大于0
* 按自己的实际业务来调用
*/
public static double round4(double v,int scale)
{
BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
*
* @title doubleFormat
* @description 解决double类型出现科学计数法的问题
* @create_date May 11, 2012
* @param db 传入的本数
* @param num 要保留的小数位数 格式"0.0"就是要保留一位小数 格式为"0.00" 就是保留两位小数 依次类推
* @return 返回一个string字符串
*
* 在调用的时候要注意的事项 num不能为空如果不保留小数就填个"0"本方法已经做过验证
*/
public static String doubleFormat(Double db, String num) {
String number="";
if (num!=""&&num.length()>0) {//过滤异常数据
DecimalFormat df = new DecimalFormat(num);
number = df.format(db);
}
return number;
}
}
/**
*
* @title round4
* @description 四舍五入的方法
* @create_date May 9, 2012
* @param v 要保留小数的本数
* @param scale 要保留的小数位数
* @return 保留小数点几位后的新数
* 调用者最好校验一下你的传参不能为空或者大于0
* 按自己的实际业务来调用
*/
public static double round4(double v,int scale)
{
BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
*
* @title doubleFormat
* @description 解决double类型出现科学计数法的问题
* @create_date May 11, 2012
* @param db 传入的本数
* @param num 要保留的小数位数 格式"0.0"就是要保留一位小数 格式为"0.00" 就是保留两位小数 依次类推
* @return 返回一个string字符串
*
* 在调用的时候要注意的事项 num不能为空如果不保留小数就填个"0"本方法已经做过验证
*/
public static String doubleFormat(Double db, String num) {
String number="";
if (num!=""&&num.length()>0) {//过滤异常数据
DecimalFormat df = new DecimalFormat(num);
number = df.format(db);
}
return number;
}
}