java 字符串转数字保留两位小数_java 处理字符串为数字类型并保留两位小数
if(isNumber((String) nstr)){double vals = roundForNumber(Double.valueOf((String) nstr),2);str = String.valueOf(vals);}else{str = (String) nstr;} /**
* 判断字符串是否是整数
*/
public static boolean isInteger(String value) {
try {
Integer.parseInt(value);
return true;
} catch (NumberFormatException e) {
return false;
}
}
/**
* 判断字符串是否是浮点数
*/
public static boolean isDouble(String value) {
try {
Double.parseDouble(value);
if (value.contains("."))
return true;
return false;
} catch (NumberFormatException e) {
return false;
}
}
/**
* 判断字符串是否是数字
*/
public static boolean isNumber(String value) {
return isInteger(value) || isDouble(value);
}
/**
*
* 提供精确的小数位四舍五入处理。
*
* @param v
*
需要四舍五入的数字
*
* @param scale
*
小数点后保留几位
*
* @return 四舍五入后的结果
*
*/
public static double roundForNumber(double v,int scale){
if(scale<0){
throw new IllegalArgumentException("The scale must be a positive integer or zero");
}
BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
