java保留小數
㈠ java中保留小數問題!!!
double i = 12.3659963; //設數值
int j = (int)Math.round(i * 100); //小數點後兩位前移,並四捨五入
double k = (double)j / 100.00; //還原小數點後兩位
㈡ 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
㈢ 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中保留小數點後幾位是怎麼設的
有兩種情況:
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里怎樣讓float保留3位小數
有一個方法很簡單,保留三個小數,就是乘以1000(10的3次方),取整,再除以1000
float f = (int)Math.round(0.0346562*1000)/1000f; //(注:f表示float,省了會錯)
System.out.println(f*100+"%");
㈥ 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);
}
}
回答這個問題算是自己備忘一下,老是搜索到一大堆亂七八糟復雜化的博客
㈦ Java中怎樣保留兩位小數。是不是要用Math.round()啊
總的說來,我用了兩中方式。
System.out.printf("f(%d)= %.2f\n",x,y);printf是java繼承C來的,可以用c的方式來格式化輸出。
還有就是java自己提供了更為豐富的格式化輸出。用到Format,format 是一個用於格式化語言環境敏感的信息(如日期、消息和數字)的抽象基類。 Format 定義了編程介面,用於將語言環境敏感的對象格式化為 String(使用 format 方法)和將 String 重新解析為對象(使用 parseObject 方法)。數字
NumberFormat 用於格式化輸出 數字,在java.text.包中,如果你有API,那就很簡單的多了。
你復制下去,運行一下,我測試的是
3
2 =0.5
3 =0.33
4 =0.25
和你的要求一樣。希望採納。
import java.text.NumberFormat;
import java.util.Scanner;
public class Test
{
public static void main(String args[])
{
int repeat, ri,x;
double y;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
NumberFormat f=NumberFormat.getInstance();
f.setMaximumFractionDigits(2);
for(ri = 1; ri <= repeat; ri++)
{
x=in.nextInt();
/*---------*/
if(x!=0)
y=1.0/x; //還有在這里,是1.0/x,不然結果全是0.如果不懂,下面有連接,我回答的
else
y=0;
//System.out.println("f("+x+")="+y);
String s=f.format(y);
//System.out.printf("f(%d)= %.2f\n",x,y);
System.out.println("f("+x+")="+s);
//如果要得到你所說的,我建議用numberformat來格式化輸出。
}
}
}
http://..com/question/390739373.html?old=1&afterAnswer=1#here
㈧ 急求!!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 保留兩位小數點
var f : float;
str : string;
begin
f := 1.123;
str := FormatFloat('0.00', f);
end;
str的結果是1.12
㈩ java如何保留一位小數
doubled=3.1415926;
Stringresult=String.format("%.1f");
%. 表示 小數點前任意位數
1 表示保留1位小數
f 表示浮點型