⑴ 急求!!java中怎樣任意保留小數位
DecimalFormat這個類的format方法
DecimalFormat f = new DecimalDormat("#.00");
System.out.println(f.format(這個地方寫需要保留2為小數的變數或者常量));
肯定是這個類,肯定是這樣的內格式控制,至於容("#.00")這樣好像有些BUG,如果("00.00")如果是1好像不會自動補齊左邊的0而是1.00,以前我遇到過你最好網路一下,再查看一下JDK文檔給出的format方法的用法。
⑵ java中保留小數點後幾位是怎麼設的
有兩種情況:
1、只要輸出結果的時候可以用以下方法:
double x1 = 0.026;
System.out.println(String.format("%.2f", x1));
結果:0.03
2、使用數據轉換內(4種方法)
//方案容一:
get_double = (double)(Math.round(result_value*100)/100.0)
//方案二:
DecimalFormat df = new DecimalFormat("#.##");
get_double = Double.ParseDouble(df.format(result_value));
//方案三:
get_double = Double.ParseDouble(String.format("%.2f",result_value));
//方案四:
BigDecimal bd = new BigDecimalresult_value();
BigDecimal bd2 = bd.setScale(2,BigDecimal .ROUND_HALF_UP);
get_double = Double.ParseDouble(bd2.ToString());
⑶ 如何把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四位小數 以此類推…
// 方式三:
double d = 3.1415926;
String result = String.format("%.2f", d);
// %.2f %. 表示 小數點前任意位數 2 表示兩位小數 格式後的結果為f 表示浮點型。
//方法四:
Math.round(5.2644555 * 100) * 0.01d;
//String.format("%0" + 15 + "d", 23) 23不足15為就在前面補0
⑷ java程序中怎麼保留一位小數
java中保留1位小數, 通常可以使用字元串格式化的方式, 或者利用BigDecimal 來實現
參考代碼
importjava.math.BigDecimal;
publicclassTest{
publicstaticvoidmain(String[]args){
doubled1=3.02;
System.out.println(d1);
//利用字元串格式化的方式實現四捨五入,保留1位小數
Stringstr1=String.format("%.1f",d1);//1代表小數點後面的位數,不足補0.f代表,後面的數據d1是浮點類型
System.out.println(str1);
//利用BigDecimal來實現四捨五入.保留一位小數
doublef1=newBigDecimal(d1).setScale(1,BigDecimal.ROUND_HALF_UP).doubleValue();
//1代表保留1位小數
//BigDecimal.ROUND_HALF_UP代表使用四捨五入的方式
System.out.println(f1);
}
}
⑸ 學習java時在要求輸出的數字帶倆個小數點時,利用String.format時出現的問題
publicclassStringFormatDemo{
publicstaticvoidmain(String[]args){
//String.format實現了四捨五入
System.out.println(String.format("%.2f",8.1256));//8.13
System.out.println(String.format("%.2f",8.1216));//8.12
System.out.println(String.format("%.2f",1.0));//1.00
//System.out.println(String.format("%.2f",1));
/*上面注釋掉的一行就報錯,因為參數里有小數點".",
*說明後面的數據應該是浮點型的數據,那麼整數就會報錯.
*這個地方應該就是你出錯的原因*/
inta=2;
//如果非要把整型當成數據.應把a轉成double/float浮點類型
System.out.println(String.format("%.2f",Double.valueOf(a)));
}
}
⑹ java中小數怎麼四捨五入
按照你的要求為不確定保留幾位小數的字元串做四捨五入的Java程序如下
import java.math.BigDecimal;
public class A {
public static void main(String[] args) {
String s="0.00000999999997";
//四捨五入,length是小數位數
int length=s.substring(s.indexOf(".")+1).length();
String s1=String.format("%."+(length-1)+"f",new BigDecimal(s));
//去尾部0
BigDecimal bd=new BigDecimal(s1).stripTrailingZeros();
System.out.println(bd.toPlainString());
}
}
⑺ java 怎麼保留2位小數
java保留兩位小數的方法:
方式一:
四捨五入
doublef=111231.5585;
BigDecimalb=newBigDecimal(f);
doublef1=b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
保留兩位小數
方式二:
java.text.DecimalFormatdf=newjava.text.DecimalFormat("#.00");
df.format(要格式化的回數字);
例:newjava.text.DecimalFormat("#.00").format(3.1415926)
#.00表示答兩位小數#.0000四位小數以此類推...
方式三:
doubled=3.1415926;
Stringresult=String.format("%.2f");
%.2f%.表示小數點前任意位數2表示兩位小數格式後的結果為f表示浮點型
⑻ 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)