⑴ java中怎麼把浮點數轉變成整數只保留整數部分
兩種方式:
1、通過強制類型轉換
float a=1.1f;//定義一個浮點變數a
int b = (int)a;//這里使用(int)方式對float進行強轉,結果為12、通過轉換為字元串,在截取整數部分
float a = 1.1f;//定義一個浮點變數a
String str = String.valueOf(a);//浮點變數a轉換為字元串str
int idx = str.lastIndexOf(".");//查找小數點的位置
String strNum = str.substring(0,idx);//截取從字元串開始到小數點位置的字元串,就是整數部分
int num = Integer.valueOf(strNum);//把整數部分通過Integer.valueof方法轉換為數字
⑵ java怎麼把double四捨五入
(1)首先我們想到用先乘以100取整後再除以100.0這種做法:
System.out.println(Math.round(4.015*100)/100.0);
執行結果為4.01,顯然沒有達到我們想要的結果。
(2)那用java.text.DecimalFormat呢?
System.out.println(new java.text.DecimalFormat("0.00").format(4.015));
System.out.println(new java.text.DecimalFormat("0.00").format(4.025));
執行結果都為4.02。
(3)用java.math.BigDecimal.
Math 類包含用於執行基本數學運算的方法,如初等指數、對數、平方根和三角函數。
提供用於執行任意精度整數演算法 (BigInteger) 和任意精度小數演算法 (BigDecimal) 的類。
double abc = 4.015; //4.025
System.out.println(new java.math.BigDecimal(abc).setScale(2,java.math.BigDecimal.ROUND_HALF_UP).doubleValue());
結果:4.01 (當使用4.025時結果為4.03)
看來還是達不到效果。
(4)用下面的方法:
System.out.println(Math.round(4.015*100 + 0.5)/100.0);
⑶ java中,強制轉換符把float轉換為int時,按四捨五入,還是直接丟掉小數部分
直接舍掉小數 比如float是4.7 轉換成int 後是4 而不是5 要四捨五入的話轉換前先加上0.5
比如 int i ; double j = 4.7; i = (int)(j+0.5);
⑷ java中如何取整
有float類型的
向上取整:Math.ceil() //陵絕只要有小數都+1
向下取整:Math.floor() //不取小數
四捨五入尺世姿:Math.round() /返野/四捨五入
⑸ java中如何取整
通過(int)方式進行取整,(int)是強轉,強制把其他類型轉換成整型。
語法:
int b =(int)浮點型變數;
例如:
doublea=1.22;
intb=(int)a;//強轉double為整型。,取整,結果為1
⑹ 關於java double 小數向上取整處理
public static double getCeil(double d,int n){
BigDecimal b = new BigDecimal(String.valueOf(d));
b = b.divide(BigDecimal.ONE,n,BigDecimal.ROUND_CEILING);
return b.doubleValue();
}
⑺ 在JAVA中把double類型轉換成long類型,丟失數據位是什麼,為什麼
double是浮點型,long是整數型,以上語句轉換時小數部分沒有了,這就是丟失。javadouble轉long型是取整運算,用Double封裝下基本類型double,再調用longValue方法。Double(doublevalue)
longlongValue(),將此Double值作為long類型返回(通過強制轉換為long類型),詳細步驟:
1、首先在visualstudio中用c#語言進行類型轉換,新建項目命名"longdouble",項目結構圖如下。
⑻ Java中怎麼把浮點數轉變成整數只保留整數部分
通過轉換為字元串,再截取整數部分:
float a = 1.1f;//定義一個浮點變數a
String str = String.valueOf(a);//浮點變數a轉換為字元串str
int idx = str.lastIndexOf(".");//查找小數點的位置
String strNum = str.substring(0,idx);//截取從字元串開始到小數點位置的字元串,就是整數部分
int num = Integer.valueOf(strNum);//把整數部分通過Integer.valueof方法轉換為數字
擴展資料:
Java的浮點類型有兩種:float和double。
Java的浮點類型有固定的表數范圍和欄位長度,欄位長度和表數范圍和機器無關,double類型代表雙精度浮點數,float類型代表單精度浮點數。
Java的浮點數遵循IEEE754標准,採用二進制數據的科學計數法來表示浮點數,對於float型數值,第1位是符號位,接下里8位表示指數,再接下來的23位表示尾數;對於double類型數值,第一位也是符號位,接下來的11位表示指數,再接下來的52位表示尾數。