java除法保留兩位小數
Ⅰ 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怎麼保留兩位小數
java自帶api是沒有保留兩位小數的,需要自己去封裝定義
Ⅳ java 兩個數相除後四捨五入並保留兩位小數有哪些方式
1 double f = 3.1516;
BigDecimal b = new BigDecimal(f);
2 double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()
new java.text.DecimalFormat("#.00").format(3.1415926)
3 double d = 3.1415926;
String result = String.format("%.2f", d);
// %.2f %. 表示 小數點前任意位數 2 表示兩位小數 格式後的結果為f 表示浮點型。
4 Math.round(5.2644555 * 100) * 0.01d;
//String.format("%0" + 15 + "d", 23) 23不足15為就在前面補0
Ⅳ 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 如何保留數據後兩位小數
保留兩位小數,也就是保留到百分位,要看千分位上的數,如果千分位上的數大於等於5,就向百分位上進一位,如果千分位上的數小於5,就捨去。