java實(shí)現(xiàn)double保留小數(shù)點(diǎn)后兩位小數(shù)
一突琳、返回double型的
1屿附、能四舍五入
double d = 114.145;
d = (double) Math.round(d * 100) / 100;
System.out.println(d);
2袄琳、BigDecimal.ROUND_HALF_UP表示四舍五入铸敏,BigDecimal.ROUND_HALF_DOWN也是五舍六入带污,BigDecimal.ROUND_UP表示進(jìn)位處理(就是直接加1),BigDecimal.ROUND_DOWN表示直接去掉尾數(shù)痕钢。
(免費(fèi)學(xué)習(xí)視頻教程分享:java視頻)
double d = 114.145;
BigDecimal b = newBigDecimal(d);
d = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();???????
System.out.println(d);
二返回String型的
1图柏、#.00表示保留后兩位,它的處理方式是直接截掉不要的尾數(shù)任连,不四舍五入蚤吹。
double d = 114.145;
DecimalFormat df = newDecimalFormat("#.00");
String str = df.format(d);
System.out.println(str);
2、%.2f表示保留后兩位随抠,能四舍五入裁着。
double d = 114.145;
String.format("%.2f", d);
3、RoundingMode.HALF_DOWN表示 五舍六入拱她,負(fù)數(shù)先取絕對(duì)值再五舍六入再負(fù)數(shù)二驰,RoundingMode.HALF_UP:表示四舍五入,負(fù)數(shù)先取絕對(duì)值再五舍六入再負(fù)數(shù)秉沼。
double d = 114.145
NumberFormat nf = NumberFormat.getNumberInstance();
// 保留兩位小數(shù)
nf.setMaximumFractionDigits(2);
// 如果不需要四舍五入桶雀,可以使用RoundingMode.DOWN
nf.setRoundingMode(RoundingMode.UP);
System.out.println(nf.format(d));
相關(guān)文章教程推薦:java開(kāi)發(fā)入門(mén)