當前位置:首頁 » 編程語言 » 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 表示浮點型。

熱點內容
wifi密碼如何修改密碼 發布:2025-01-19 06:39:06 瀏覽:961
sqlserver認證 發布:2025-01-19 06:34:30 瀏覽:815
小米8se安卓p有什麼功能 發布:2025-01-19 06:25:22 瀏覽:358
ucos和linux 發布:2025-01-19 06:24:06 瀏覽:470
關閉chrome緩存 發布:2025-01-19 05:43:55 瀏覽:830
修改svn伺服器ip地址 發布:2025-01-19 05:32:00 瀏覽:441
iis伺服器搭建出現404錯誤 發布:2025-01-19 05:26:39 瀏覽:312
怎麼看在電腦里的配置 發布:2025-01-19 04:45:54 瀏覽:814
在存儲器中存取速度 發布:2025-01-19 04:42:25 瀏覽:511
如何查找郵箱伺服器 發布:2025-01-19 04:42:23 瀏覽:932