方法一:使用BigDecimal格式化小數(shù)點
-
ROUND_DOWN直接刪除多余的位數(shù).
-
ROUND_HALF_UP直接四舍五入.
-
ROUND_UP是進(jìn)位處理保留的小數(shù)后面無論是幾都會進(jìn)一位.
-
ROUND_HALF_DOWN是如果要保留的那個小數(shù)位是5則向下舍.
-
ROUND_CEILING接近正無窮大的舍入.
-
ROUND_FLOOR接近負(fù)無窮大的舍入,數(shù)字>0和ROUND_UP作用一樣,數(shù)字<0和ROUND_DOWN作用一樣.
-
ROUND_HALF_EVEN下最接近的數(shù)字舍入,如果與兩個相鄰數(shù)字的距離相等,澤祥相鄰的偶數(shù)舍入.
public static void main(String[] args) {
//5.254變成5.2
BigDecimal bigDecimal1 = new BigDecimal(5.254).setScale(1, BigDecimal.ROUND_DOWN);
System.out.println("bigDecimal1="+bigDecimal1);
//5.254變成5.3
BigDecimal bigDecimal2 = new BigDecimal(5.254).setScale(1, BigDecimal.ROUND_HALF_UP);
System.out.println("bigDecimal2="+bigDecimal2);
//5.224變成5.3
BigDecimal bigDecimal3 = new BigDecimal(5.224).setScale(1, BigDecimal.ROUND_UP);
System.out.println("bigDecimal3="+bigDecimal3);
//5.554變成5.6,如果是5.254則變成5.3
BigDecimal bigDecimal4 = new BigDecimal(5.554).setScale(1, BigDecimal.ROUND_HALF_DOWN);
System.out.println("bigDecimal4="+bigDecimal4);
//ROUND_CEILING接近正無窮大的舍入
BigDecimal bigDecimal5 = new BigDecimal(5.254).setScale(1, BigDecimal.ROUND_CEILING);
System.out.println("bigDecimal5="+bigDecimal5);
//5.254變成5.2,-5.254變成-5.3
BigDecimal bigDecimal6 = new BigDecimal(-5.254).setScale(1, BigDecimal.ROUND_FLOOR);
System.out.println("bigDecimal6="+bigDecimal6);
//5.254變成5.3,5.244變成5.2
BigDecimal bigDecimal7 = new BigDecimal(5.244).setScale(1, BigDecimal.ROUND_HALF_EVEN);
System.out.println("bigDecimal7="+bigDecimal7);
}
結(jié)果
方法二:?使用Math工具中的取整方法,可用于浮點數(shù)取整,只看浮點數(shù)的小數(shù)位是何值來判斷.
public static void main(String[] args) {
double i=3.76;
//四舍五入直接取整數(shù)
long round = Math.round(i);
//向上取整,5.46變成6.0,3.46變成4.0
double ceil = Math.ceil(i);
//向下取整保留一位小數(shù)為0,3.76變成3.0
double floor = Math.floor(i);
System.out.println(round);
System.out.println(ceil);
System.out.println(floor);
}
結(jié)果展示:
方法三:?使用DecimalFormat數(shù)據(jù)格式化方式.
double num = 55.382;
//定義保留格式,相當(dāng)于保留幾位小數(shù)
DecimalFormat df = new DecimalFormat("0.0");
//指定四舍五入規(guī)則HALF_UP
df.setRoundingMode(RoundingMode.HALF_UP);
System.out.println(df.format(num));
結(jié)果展示:文章來源:http://www.zghlxwxcb.cn/news/detail-506918.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-506918.html
到了這里,關(guān)于Java中三種保留小數(shù)點的方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!