java保留兩位小數(shù)的方法:
十年的港南網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整港南建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“港南網(wǎng)站設(shè)計”,“港南網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。
方式一:
四舍五入??
double???f???=???111231.5585;??
BigDecimal???b???=???new???BigDecimal(f);??
double???f1???=???b.setScale(2,???BigDecimal.ROUND_HALF_UP).doubleValue();??
保留兩位小數(shù)
方式二:
java.text.DecimalFormat???df???=new???java.text.DecimalFormat("#.00");??
df.format(要格式化的數(shù)字);
例:new?java.text.DecimalFormat("#.00").format(3.1415926)
#.00?表示兩位小數(shù)?#.0000四位小數(shù)?以此類推...
方式三:
double?d?=?3.1415926;
String?result?=?String?.format("%.2f");
%.2f?%.?表示?小數(shù)點前任意位數(shù)???2?表示兩位小數(shù)?格式后的結(jié)果為f?表示浮點型
public?class?Main?{
public?static?void?main(String[]?args)?{
float??f1?=?1234.5678f?;
int????f2?=?99900?;
String?f3?=?String.format("x=%.2f,?y=%.3f",?100.22222f,?200.33333f);
String?f4?=?String.format("x=%.4f,?y=%.5f",?100.22222f,?200.33333f);
System.out.printf("f1?=?%.2f\n",?f1);
System.out.printf("f2?=?%.2f\n",?(float)f2);
System.out.printf("f3?=?\"%s\"\n",?f3);
System.out.printf("f4?=?\"%s\"\n",?f4);
}
}
輸出:
f1 = 1234.57
f2 = 99900.00
f3 = "x=100.22, y=200.333"
f4 = "x=100.2222, y=200.33333"
使用格式化輸出符號即可;
float num = 10.1234456;
System.out.printf"num=%.1f",num); //保留1位小數(shù)
給你說個思路:先把float轉(zhuǎn)成string,然后切割字符串(先索引到小數(shù)點.的位置,然后取0-小數(shù)點后一位,這個就可以自己控制了) 然后在轉(zhuǎn)為 float 類型就OK了;先盡量自己試試,實在不會我在幫你;(看來我還太嫩,樓上方法不錯)
按照你的要求編寫的Java程序如下:
import?java.util.Scanner;
public?class?A?{
public?static?void?main(String[]?args)?{
int?b=1024;
Scanner?sc=new?Scanner(System.in);
System.out.println("請輸入任意整數(shù):");
int?a=sc.nextInt();
double?c=(double)a/b;
System.out.println(String.format("%.1f",?c));
}
}
運行結(jié)果:
請輸入任意整數(shù):
3679
3.6