導航:首頁 > 編程語言 > javadouble四捨五入int

javadouble四捨五入int

發布時間:2022-08-27 09:56:43

java中,強制轉換符把float轉換為int時,按四捨五入,還是直接丟掉小數部分

直接舍掉小數 比如float是4.7 轉換成int 後是4 而不是5 要四捨五入的話轉換前先加上0.5
比如 int i ; double j = 4.7; i = (int)(j+0.5);

㈡ java怎麼將double四捨五入

// 新方法,如果不需要四捨五入,可以使用RoundingMode.DOWN
BigDecimal bg = new BigDecimal(d).setScale(2, RoundingMode.UP);
return bg.doubleValue();
}

public static String formatDouble3(double d) {
NumberFormat nf = NumberFormat.getNumberInstance();
// 保留兩位小數

㈢ 關於java double類型四捨五入的演算法

這是為什麼呢?

//double類型直接轉換成為BigDecimal還是會造成精度丟失

解決方案

//把double類型首先轉換為String類型,然後再把String類型轉換成BigDecimal類型

實例代碼

importjava.math.BigDecimal;
publicclassB{
publicstaticvoidmain(String[]args){
print0();
print1();
print2();
print3();//解決方案
}

privatestaticvoidprint0(){
doubled=12345.15;
BigDecimalb=newBigDecimal(d);
System.out.println(b);
doubled1=b.setScale(1,BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(d1);
}

privatestaticvoidprint1(){
doubled=1234.115;
BigDecimalb=newBigDecimal(d);
System.out.println(b);
doubled1=b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(d1);
}

privatestaticvoidprint2(){
doubled=2345.115;
BigDecimalb=newBigDecimal(d);
System.out.println(b);
doubled1=b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(d1);
}
privatestaticvoidprint3(){
doubled=2345.115;
BigDecimalb=newBigDecimal(String.valueOf(d));//方案一
//BigDecimalb=newBigDecimal("2345.115");//方案二
//BigDecimalb=newBigDecimal(""+d);//方案三
System.out.println(d);
doubled1=b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(d1);
}
}

輸出

12345.
12345.1//四捨五入保留1位
1234.
1234.12//四捨五入保留2位
2345.
2345.11//四捨五入保留2位
2345.115
2345.12//四捨五入保留2位

㈣ java中,double d,用表達式表示d四捨五入後的int結果

(int) d,自動四捨五入吧

㈤ JAVA 將小數四捨五入成整數的方法

例子:
double d=1.2;
int i = (int)( d + 0.5);

㈥ java怎麼把double四捨五入

(1)首先我們想到用先乘以100取整後再除以100.0這種做法:
System.out.println(Math.round(4.015*100)/100.0);
執行結果為4.01,顯然沒有達到我們想要的結果。

(2)那用java.text.DecimalFormat呢?
System.out.println(new java.text.DecimalFormat("0.00").format(4.015));
System.out.println(new java.text.DecimalFormat("0.00").format(4.025));
執行結果都為4.02。

(3)用java.math.BigDecimal.
Math 類包含用於執行基本數學運算的方法,如初等指數、對數、平方根和三角函數。
提供用於執行任意精度整數演算法 (BigInteger) 和任意精度小數演算法 (BigDecimal) 的類。
double abc = 4.015; //4.025
System.out.println(new java.math.BigDecimal(abc).setScale(2,java.math.BigDecimal.ROUND_HALF_UP).doubleValue());

結果:4.01 (當使用4.025時結果為4.03)
看來還是達不到效果。

(4)用下面的方法:
System.out.println(Math.round(4.015*100 + 0.5)/100.0);

㈦ java中double四捨五入問題

(1)首先我們想到用先乘以100取整後再除以100.0這種做法:
System.out.println(Math.round(4.015*100)/100.0);
執行結果為4.01,顯然沒有達到我們想要的結果。

(2)那用java.text.DecimalFormat呢?
System.out.println(new java.text.DecimalFormat("0.00").format(4.015));
System.out.println(new java.text.DecimalFormat("0.00").format(4.025));
執行結果都為4.02。

(3)用java.math.BigDecimal.
Math 類包含用於執行基本數學運算的方法,如初等指數、對數、平方根和三角函數。
提供用於執行任意精度整數演算法 (BigInteger) 和任意精度小數演算法 (BigDecimal) 的類。
double abc = 4.015; //4.025
System.out.println(new java.math.BigDecimal(abc).setScale(2,java.math.BigDecimal.ROUND_HALF_UP).doubleValue());

結果:4.01 (當使用4.025時結果為4.03)
看來還是達不到效果。

(4)用下面的方法:
System.out.println(Math.round(4.015*100 + 0.5)/100.0);

閱讀全文

與javadouble四捨五入int相關的資料

熱點內容
解密攝影pdf 瀏覽:72
演算法編程中級題目 瀏覽:249
c語言編譯器畢業設計 瀏覽:715
醫保卡申請app哪個好 瀏覽:944
阿里雲伺服器上傳源碼 瀏覽:602
營銷管理科特勒pdf 瀏覽:696
願望清單app哪個好 瀏覽:459
安卓外放聲音怎麼解決 瀏覽:195
脈脈app干什麼用的 瀏覽:360
拽姐是哪個app 瀏覽:860
雲伺服器刪除了還有嗎 瀏覽:234
macbook可以用單片機嘛 瀏覽:309
南陽php招聘 瀏覽:816
去哪裡找按摩師很漂亮的app 瀏覽:821
86x99用簡便演算法計算 瀏覽:832
php截圖flash 瀏覽:276
卸載聯想app哪個好 瀏覽:721
php文字轉圖片 瀏覽:332
豆客後台怎麼加密碼 瀏覽:577
jpg轉換pdf破解版 瀏覽:980