A. 在java裡面我想保留兩位小數但是又想在整數的時候保留整數
在輸出前用if判斷是不是整數,是的話講double(或者是float)類型強轉成long(或者其他整數類型)輸出
B. java 保留一位小數
按照你的要求編寫的Java程序如下:
importjava.util.Scanner;
publicclassA{
publicstaticvoidmain(String[]args){
intb=1024;
Scannersc=newScanner(System.in);
System.out.println("請輸入任意整數:");
inta=sc.nextInt();
doublec=(double)a/b;
System.out.println(String.format("%.1f",c));
}
}
運行結果:
請輸入任意整數:
3679
3.6
C. java里怎樣讓float保留3位小數
有一個方法很簡單,保留三個小數,就是乘以1000(10的3次方),取整,再除以1000
float f = (int)Math.round(0.0346562*1000)/1000f; //(注:f表示float,省了會錯)
System.out.println(f*100+"%");
D. java中保留小數問題!!!
double i = 12.3659963; //設數值
int j = (int)Math.round(i * 100); //小數點後兩位前移,並四捨五入
double k = (double)j / 100.00; //還原小數點後兩位
E. java 保留兩位小數點
var f : float;
str : string;
begin
f := 1.123;
str := FormatFloat('0.00', f);
end;
str的結果是1.12
F. java保留兩位小數
網上回答基本上都是復制,最少都是2015年之前的,比較復雜,目前主流簡單
已知一個float x=100.12314f;
保留2位數,則*/都是100;添加這一句後輸出即可
x=(float)(int) (X*100)/100;
publicclassMain{
publicstaticvoidmain(String[]args){
floatx=100.12314f;
x=(float)(int)(X*100)/100;
System.out.printf(x);
}
}
回答這個問題算是自己備忘一下,老是搜索到一大堆亂七八糟復雜化的博客
G. 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表示浮點型
H. 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());
I. 急求!!Java中怎樣任意保留小數位
DecimalFormat這個類的format方法
DecimalFormat f = new DecimalDormat("#.00");
System.out.println(f.format(這個地方寫需要保留2為小數的變數或者常量));
肯定是這個類,肯定是這樣的格式控制,至於("#.00")這樣好像有些BUG,如果("00.00")如果是1好像不會自動補齊左邊的0而是1.00,以前我遇到過你最好網路一下,再查看一下JDK文檔給出的format方法的用法。
J. java里0.20000000如何保留五位小數
Java中Double保留後小數位的幾種方法
1.能四捨五入
1 double d = 114.145;2 d = (double) Math.round(d * 100) / 100;3 System.out.println(d);
2.BigDecimal.ROUND_HALF_UP表示四捨五入,BigDecimal.ROUND_HALF_DOWN也是五舍六入,BigDecimal.ROUND_UP表示進位處理(就是直接加1),BigDecimal.ROUND_DOWN表示直接去掉尾數。
1 double d = 114.145;2 BigDecimal b = new BigDecimal(d);3 d = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
4 System.out.println(d);
返回String型的
1.#.00表示保留後兩位,它的處理方式是直接截掉不要的尾數,不四捨五入。
1 double d = 114.145;2 DecimalFormat df = new DecimalFormat("#.00");3 String str = df.format(d);4 System.out.println(str);
2.%.2f表示保留後兩位,它的處理方式也是直接截掉不要的尾數,不四捨五入。
1 double d = 114.145;2 String.format("%.2f", d);
3.RoundingMode.HALF_DOWN表示五舍六入,負數先取絕對值再五舍六入再負數,RoundingMode.HALF_UP:表示四捨五入,負數先取絕對值再五舍六入再負數。
1 double d = 114.1452 NumberFormat nf = NumberFormat.getNumberInstance();3 // 保留兩位小數4 nf.setMaximumFractionDigits(2);
5 // 如果不需要四捨五入,可以使用RoundingMode.DOWN6 nf.setRoundingMode(RoundingMode.UP);7 System.out.println(nf.format(d));