當前位置:首頁 » 編程語言 » java四捨五入保留小數

java四捨五入保留小數

發布時間: 2024-05-22 19:06:32

java四捨五入 保留兩位小數

因為double型小數部分會在從二進制變十進制的類型變換中產生誤差,所以x2會變成-3.80000000000003,如果要使輸出四捨五入 保留兩位小數,可以用String的format函數,方法如下:
System.out.println(String.format("%.2f", x1));
System.out.println(String.format("%.2f", x2));

⑵ java中保留兩位小數並要求四捨五入的方法

doubled=2.345;
//格式化為String
Stringstr=String.format("%.2f",d);
System.out.println(str);
//如果需要數字,可以再d=Double.parseDouble(str)

//////////////
BigDecimalbd=newBigDecimal("2.345");//建議使用String參數
BigDecimalbd_half_even=bd.setScale(2,RoundingMode.HALF_EVEN);
BigDecimalbd_half_up=bd.setScale(2,RoundingMode.HALF_UP);
System.out.println(bd_half_even);
System.out.println(bd_half_up);
//HALF_EVEN,HALF_UP是兩種不同的四捨五入機制
//BigDecimal默認使用HALF_EVEN
//HALF_UP的效果就是經典的四捨五入
//HALF_EVEN是最科學的四捨五入,但結果和HALF_UP可能會不同

⑶ java中小數怎麼四捨五入

java中如果精確一點的小數位比較多,類型建議使用BigDecimal,資料庫存儲用decimal類型。

.你的問題是想做四捨五入,並指定精確小數位數。BigDecimal..setScale(需要精確的小數位數例如:3, BigDecimal.ROUND_HALF_UP); 如圖所示:如果想要確定小數位數,可以用正則取出需要精確的位數,再去傳輸需要精確的小數位數。

指定小數位數,並且都做四捨五入即可

⑷ java中四捨五入保留兩位小數,第三位正好是數字5怎麼處理

使用String.format("鎮空%.2f",num); //num是要處理的數據搜耐

這種方法可以用float,double接收數據類型,我試了一下String接收好像會報錯,小夥伴也可以試一下。可以四捨五入保留兩位小數,但是小數點第二位是0的話會不顯示。以下代碼用到此方法世旅春的語句:value.add(Double.valueOf ( String.format("%.2f", Double.valueOf(list.get(3).replace("\"", ""))*100)));

⑸ java 兩個數相除後四捨五入並保留兩位小數有哪些方式


1 double f = 3.1516;
BigDecimal b = new BigDecimal(f);
2 double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()
new java.text.DecimalFormat("#.00").format(3.1415926)


3 double d = 3.1415926;
String result = String.format("%.2f", d);
// %.2f %. 表示 小數點前任意位數 2 表示兩位小數 格式後的結果為f 表示浮點型。


4 Math.round(5.2644555 * 100) * 0.01d;
//String.format("%0" + 15 + "d", 23) 23不足15為就在前面補0

⑹ Java幾種常見的四捨五入的方法

下面給你介紹3種常見的四捨五入:

// 方式一:BigDecimal方式

double f = 3.1315;

BigDecimal b = new BigDecimal(new Double(f).toString);

double f1 = b.setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue();

注意:這里一定不要直接使用new BigDecimal(double)的構造方法,而要使用new BigDecimal(new Double(1.1315).toString())的方式,不然會出現精確問題


// 方式二:DecimalFormat方式

//DecimalFormat默認採用了RoundingMode.HALF_EVEN這種類型,而且format之後的結果是一個字元串類型String

DecimalFormat df = new DecimalFormat("#.000");

System.out.println(df.format(new BigDecimal(1.0145)));//1.014

System.out.println(df.format(new BigDecimal(1.1315)));//1.132

// 方式三:

double d = 3.1415926;

String result = String.format("%.2f", d);

// %.2f %. 表示 小數點前任意位數 2 表示兩位小數 格式後的結果為f 表示浮點型。

熱點內容
ftp端路徑 發布:2024-11-27 12:51:13 瀏覽:981
無法刪除訪問被拒絕請確定磁碟未滿 發布:2024-11-27 12:51:08 瀏覽:73
編程貓和你 發布:2024-11-27 12:49:33 瀏覽:232
2016郵件伺服器搭建 發布:2024-11-27 12:45:15 瀏覽:927
pythonstrptime 發布:2024-11-27 12:34:50 瀏覽:954
怎麼判斷組裝電腦配置真假 發布:2024-11-27 12:30:18 瀏覽:379
周鴻禕編程 發布:2024-11-27 12:30:12 瀏覽:615
索賠的腳本 發布:2024-11-27 12:30:09 瀏覽:547
什麼是淘寶資料庫 發布:2024-11-27 12:30:08 瀏覽:373
聯系輔導員重設密碼需要什麼 發布:2024-11-27 12:19:16 瀏覽:510