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

java小數四捨五入

發布時間: 2023-07-05 03:58:20

java如何實現四捨五入運算



背景

最近接觸銀行項目,發現在做金額四捨五入的時候並沒有傳統意義上那麼簡單,銀行為了盡量縮減在這方面的虧損,有一個單獨的銀行家舍入法。


傳統的四捨五入運算


Math.round是在原來的數字的基礎上+0.5然帶念後向下取整。


銀行家舍入法

捨去位的數值小於5時,直接捨去。


捨去位的數值大於5時,進位後捨去。


當捨去位的數值等於5時,若5後面還有其他非0數值,則進位後捨去,若5後面是0時,則根據5前一位數的奇偶性來判斷,奇數進位,偶數捨去。


Java支持的四捨五入方式參數

1、ROUND_UP:遠離零方向舍入。向絕對值最大的方向舍入,只要舍棄位非0即進位。


2、ROUND_DOWN:趨向零方向舍入。向絕對值最小的方向輸入,所有的位都要舍棄,不存在進位情況。


3、ROUND_CEILING:向正無窮方向舍入。向正最大方向靠攏。若是正數,舍入行為類似於ROUND_UP,若為負數,舍入行為類似於ROUND_DOWN。Math.round()方法就是使用的此模式。


4、ROUND_FLOOR:向負無窮方向舍入。向負無窮方向靠攏。若是正數,舍入行為沖行培散唯類似於ROUND_DOWN;若為負數,舍入行為類似於ROUND_UP。


5、HALF_UP:最近數字舍入(5進)。這是我們最經典的四捨五入。


6、HALF_DOWN:最近數字舍入(5舍)。昆明電腦培訓http://www.kmbdqn.cn/建議在這里5是要舍棄的。


7、HAIL_EVEN:銀行家舍入法。


㈡ Java 如何將string中的小數進行四捨五入

java 小數四捨五入
答:import java.math.RoundingMode;import java.text.NumberFormat;public class Snippet {public static void main(String[] args) {double x= 1.9999998;NumberFormat nf = NumberFormat.getInstance();nf.setRoundingMode(RoundingMode.HALF_UP)...
java如何取小數點前兩位,並四捨五入
答:取小數點前兩位,並四捨五入:double m=7237.3589一、DecimalFormat df = new DecimalFormat("#.00");System.out.println(df.format(m));二、System.out.println(String.format("%.2f", m));
如何把java得出的數值,保留小數點2位四捨五入
答:// 方式一: double f = 3.1516; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); // 方式二: new java.text.DecimalFormat("#.00").format(3.1415926); // #.00 表示兩位小數 #.0000...
java中保留兩位小數並要求四捨五入的方法
答:double d=2.345;//格式化為StringString str=String.format("%.2f",d);System.out.println(str);//如果需要數字,可以再d = Double.parseDouble(str)//////////////BigDecimal bd=new BigDecimal("2.345");//建議使用String參數BigDecimal bd_hal...
怎樣用java實現小數的四捨五入
答:public static int round(float a) 返回最接近參數的 int。結果將舍入為整數:加上 1/2,對結果調用 floor 並將所得結果強制轉換為 int 類型。換句話說,結果等於以下表達式的值: (int)Math.floor(a + 0.5f)

㈢ 怎樣用java實現小數的四捨五入

我喜歡用 一個小數加上0.5,這樣改五入的就進位了,該四舍的就沒進位。
然後用一個Math.floor(a)就可以了
a是加過0.5厚的小數

㈣ java四捨五入的函數

java四捨五入的函數:Math.round
語法:
Math.round(x);
參數:
x 為一數值。
解釋:
方法。返回對參數x四捨五入後所得的整數近似值。
例子:
public class MathTest {
public static void main(String[] args) {

System.out.println("小數點後第一位=5");
System.out.println("正數:Math.round(11.5)=" + Math.round(11.5));
System.out.println("負數:Math.round(-11.5)=" + Math.round(-11.5));
System.out.println();

System.out.println("小數點後第一位<5");
System.out.println("正數:Math.round(11.46)=" + Math.round(11.46));
System.out.println("負數:Math.round(-11.46)=" + Math.round(-11.46));
System.out.println();

System.out.println("小數點後第一位>5");
System.out.println("正數:Math.round(11.68)=" + Math.round(11.68));
System.out.println("負數:Math.round(-11.68)=" + Math.round(-11.68));
}
}

運行結果:

1、小數點後第一位=5
2、正數:Math.round(11.5)=12
3、負數:Math.round(-11.5)=-11
4、
5、小數點後第一位<5
6、正數:Math.round(11.46)=11
7、負數:Math.round(-11.46)=-11
8、
9、小數點後第一位>5
10、正數:Math.round(11.68)=12
11、負數:Math.round(-11.68)=-12

㈤ 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中,強制轉換符把float轉換為int時,按四捨五入,還是直接丟掉小數部分

直接舍掉小數。

例如:

int 3.14,結果為

Int是將一個數值向下取整為最接近的整數的函數。INT是資料庫中常用函數中的取整函數,常用來判別一個數能否被另一個數整除。


(6)java小數四捨五入擴展閱讀

int 函數使用的注意事項:

1、 語法int(number)其中number是需要進行向下舍入取整的實數。

2、 int函數是不進行四捨五入,直接去掉小數部分取整。

3、int函數處理負數的小數時總是向上進位的。

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:642
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:369
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:89
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:312
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:795
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:348
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:213
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:819
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:369
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:596