java保留兩位
㈠ 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輸出結果如何保留兩位小數並同時換行
按照你的要求輸出悔如保沖念留碧判啟兩位小數並換行的Java語句如下
System.out.printf("AVE=%.2f ",q/n);
下面我給你一個完整的例子
㈢ 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中四捨五入保留兩位小數,第三位正好是數字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中double保留兩位小數
1、保留小數有多種方法,比如四捨五入,或者直接截取。
public static void main(String[] args) {
double a = 3.141592653;
// 四捨五入
BigDecimal b = new BigDecimal(a);
System.out.println(b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue());
// 直接截取兩位小數,不做舍入
DecimalFormat df = new DecimalFormat("#.00");
//格式化以後是String類型
String str = df.format(a);
System.out.println(str);
}
2、
㈥ java中保留兩位小數並要求四捨五入的方法
doubled=2.345;
//格式化為String
Stringstr=String.format("%.2f",d);
System.out.println(str);
//如果需要數字,可以再d=Double.parseDouble(str)
//////////////
BigDecimalbd=newBigDecimal("2.345");//建議使用String參數
BigDecimalbd_half_even=bd.setScale(2,RoundingMode.HALF_EVEN);
BigDecimalbd_half_up=bd.setScale(2,RoundingMode.HALF_UP);
System.out.println(bd_half_even);
System.out.println(bd_half_up);
//HALF_EVEN,HALF_UP是兩種不同的四捨五入機制
//BigDecimal默認使用HALF_EVEN
//HALF_UP的效果就是經典的四捨五入
//HALF_EVEN是最科學的四捨五入,但結果和HALF_UP可能會不同
㈦ 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表示浮點型