❶ java里的浮點數是什麼意思
float表示單精度浮點數在機內佔4個位元組,用32位二進制描述。
浮點數在機內用指數型式表示,分解為:數符,尾數,指數符,指數四部分。
數符佔1位二進制,表示數的正負。
指數符佔1位二進制,表示指數的正負。
尾數表示浮點數有效數字,0.xxxxxxx,但不存開頭的0和點
指數存指數的有效數字。
指數佔多少位,尾數佔多少位,由計算機系統決定。
可能是數符加尾數佔24位,指數符加指數佔8位 -- float.
❷ 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位表示尾數。
❸ java浮點型數據表示方法有幾種,各是什麼
Java浮點型數據類型有float和double兩種,其中float是單精度浮點型,佔32位,其對應的封裝類為Float,double是雙精度浮點型,佔64位,其對應的封裝類為Double,關於Float類和Double類詳情請參考java api。
說明
數據類型所佔位數的范圍:
float表示數據范圍 3.4e-038~3.4e+038 ;
double表示數據范圍 1.7e-308~1.7e+308 ;
雙精度類型double比單精度類型float具有更高的精度,和更大的表示範圍,常常用於科學計算等高精度場合。
變數定義示例
floatf=123.456f;//指定變數f為float型
doubled=123.456;//指定變數d為double型,浮點數默認類型
❹ java中的浮點類型能進行運算嗎
可以的
與表示整數的整型不同,浮點型代表的是實數,其實就是包含小數的部分。我們也知道現實世界中是由很多復雜的數據的,所以需要這種表示實數的數據類型的支持。
一、浮點型常量 Java的實常數有兩種表示形式:十進制數形式,由數字和小數點組成,且必須有小數點,如0.123, .123, 123. ,123.0 。 2.科學計數法形式。如:123e3或123E3,其中e或E之前必須有數字,且e或E後面的指數必須為整數。 實常數在機器中佔64位,具有double型的值。對於float型的值,則要在數字後加f或F,如12.3F,它在機器中佔32位,且表示精度較低。
二、浮點型變數 浮點型變數的類型有float和double兩種。數據類型所佔位數的范圍: float 32位 3.4e-038~3.4e+038 ; double 64位 1.7e-308~1.7e+308 ; 雙精度類型double比單精度類型float具有更高的精度,和更大的表示範圍,常常用於科學計算等高精度場合。
三、浮點型變數定義舉例 float f; //指定變數f為float型 double d; //指定變數d為double型 與C、C++不同,Java中沒有無符號型整數,而且明確規定了整型和浮點型數據所佔的內存位元組數,這樣就保證了安全性、魯棒性和平台無關性
❺ java里的浮點數是什麼意思。
有float和double。默認都是使用的double類型,Float是32位,4個位元組;Double是64位,8個位元組;推薦double
❻ java 浮點數處理問題(給分)
一會如果回去有時間且沒人寫我就來寫
=================================
對輸入的值沒校驗,請你自己寫一下.
/**
* @param arg 待轉換的數
* @return 字元數組,第1個元素為小數位數,第2個元素為去掉小數點結果
*/
public static String[] getDoubleArgs(double arg){
String retu[]=new String[2];
String strArg=Double.toString(arg);
retu[0]=""+strArg.substring(strArg.indexOf(".")+1).length();
retu[1]=strArg.indexOf(".")==1?strArg:strArg.replace(".", "");
retu[0]=strArg.indexOf(".")==1?"0":retu[0];
System.out.println(strArg.indexOf(".")+"***"+retu[0]+"***"+retu[1]);
return retu;
}
/**
*
* @param arg1 整數
* @param arg2 小數個數
* @return 浮點數
*/
public static double getDouble(int arg1,int arg2){
String strArg1=Integer.toString(arg1);
String strRetu=strArg1.substring(0, strArg1.length()-arg2)+"."+strArg1.substring(strArg1.length()-arg2,strArg1.length());
System.out.println(strRetu);
return Double.valueOf(strRetu);
}
❼ 在java中怎樣實現輸入多個整數或浮點數謝謝了
控制台輸入的話
Scanner scan = new Scanner(System.in);
System.out.print("請輸入3個整數:");
int a = scan.nextInt();
int b = scan.nextInt();
int c = scan.nextInt();
浮點數好像是scan.nextFloat();
❽ java浮點運算問題
這么跟你說吧,對於浮點運算,跟處理器的運算機制相關,與高級語言無關。計算機處理的是數字信號,是離散的,是對模擬信號就行采樣量化的。也就是說計算機運算的結果只能無限接近自然值,精度由位數決定。
❾ 如何在java中接受用戶輸入的浮點數啊
接收用戶輸入的東西都是字元類型的,需要把字元型轉換成float,如果字元已經接收到如下:
String str="";//這個是接收到用戶輸入的
float f = Float.parseFloat(str);//類型轉換
❿ java中float和double是多少位浮點數
float表示單精度浮點數在機內佔4個位元組,用32位二進制描述。
double表示雙精度浮點數在機內佔8個位元組,用64位二進制描述。
浮點數在機內用指數型式表示,分解為:數符,尾數,指數符,指數四部分。
數符佔1位二進制,表示數的正負。
指數符佔1位二進制,表示指數的正負。
尾數表示浮點數有效數字,0.xxxxxxx,但不存開頭的0和點
指數存指數的有效數字。
指數佔多少位,尾數佔多少位,由計算機系統決定。
可能是數符加尾數佔24位,指數符加指數佔8位 -- float.
數符加尾數佔48位,指數符加指數佔16位 -- double.
知道了這四部分的佔位,按二進制估計大小范圍,再換算為十進制,就是浮點數的數值范圍。
對編程人員來說,double 和 float 的區別是double精度高,有效數字16位,float精度7位。但double消耗內存是float的兩倍,double的運算速度比float慢得多,java語言中數學函數名稱double 和 float不同,不要寫錯,能用單精度時不要用雙精度(以省內存,加快運算速度)