四舍五入怎么做? java 中四舍五入用哪个方法? 如 2.3456 ,10.236要四舍五入到小数点后2位,要怎么做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public int getRound(double dSource){int iRound//BigDecimal的构造函数参数类型是doubleBigDecimal deSource = new BigDecimal(dSource);//deSource.setScale(0,BigDecimal.ROUND_HALF_UP) 返回值类型 BigDecimal//intValue() 方法将BigDecimal转化为intiRound= deSource.setScale(0,BigDecimal.ROUND_HALF_UP).intValue();return iRound;} 方法比较笨,请参考.public class test{ public static void main(String args[]){ System.out.println(parse(123.4513476346)); } public static double parse(double num){ double numb = 0.00; String s = num + ""; String ss = s.substring(0,s.indexOf(".")+3); String sss = s.charAt(s.indexOf(".") + 3) + ""; int number = Integer.parseInt(sss); if(number >= 5){ numb = Double.parseDouble(ss) + 0.01; String ssss = numb + ""; ssss = ssss.substring(0,s.indexOf(".")+3); numb = Double.parseDouble(ssss); }else numb = Double.parseDouble(ss); return numb; }} format()函数会自动帮你达到要求 Math.round(x*100)/100 --决对错误Math.round(x*100)/100.0--正确可以参考如下方法/** * 数字进行格式化,四舍五入 * @param inNum * @param pLen 保留小数位长度 * */ public static double roundFormat(double inNum,int pLen){ BigDecimal big=new BigDecimal(inNum); big =big.divide(new BigDecimal(1),pLen,BigDecimal.ROUND_HALF_UP); return big.doubleValue(); } 关于websphere的问题 菜鸟,快点救救本人呀 如何实现jpanel翻转效果如图 怎么在用java向linux上传文件问题 请教一个SWING问题.... 什么是GUI? 怎样限制JTextField中只允许输入数字? 2个有关线程的问题, 请教一个JBuilder7.0的问题,谢谢! 用Java plug-in开发系统前台,技术上可行?速度可行? Field的get方法怎么用?(举个例子) AWT-EventQueue-1错误!!!
int iRound
//BigDecimal的构造函数参数类型是double
BigDecimal deSource = new BigDecimal(dSource);
//deSource.setScale(0,BigDecimal.ROUND_HALF_UP) 返回值类型 BigDecimal
//intValue() 方法将BigDecimal转化为int
iRound= deSource.setScale(0,BigDecimal.ROUND_HALF_UP).intValue();
return iRound;
}
public class test{
public static void main(String args[]){
System.out.println(parse(123.4513476346));
}
public static double parse(double num){
double numb = 0.00;
String s = num + "";
String ss = s.substring(0,s.indexOf(".")+3);
String sss = s.charAt(s.indexOf(".") + 3) + "";
int number = Integer.parseInt(sss);
if(number >= 5){
numb = Double.parseDouble(ss) + 0.01;
String ssss = numb + "";
ssss = ssss.substring(0,s.indexOf(".")+3);
numb = Double.parseDouble(ssss);
}else
numb = Double.parseDouble(ss);
return numb;
}
}
Math.round(x*100)/100.0--正确可以参考如下方法
/**
* 数字进行格式化,四舍五入
* @param inNum
* @param pLen 保留小数位长度
* */
public static double roundFormat(double inNum,int pLen){
BigDecimal big=new BigDecimal(inNum);
big =big.divide(new BigDecimal(1),pLen,BigDecimal.ROUND_HALF_UP);
return big.doubleValue();
}