作為一個java學習者,怎麼能不懂這些java基礎中的基礎呢?本文就帶各位溫顧溫顧java浮點型、單精度浮點數、雙精度浮點數。
浮點型別
#先明確java中浮點型資料型別主要有:單精度
float
、雙精確度double
至於浮點型就是跟
int
,string
類型差不多。都是資料型別。
浮點型浮點型別給我整些花里胡哨的定義,浮點型簡單來說就是表示帶有小數的數據,而恰恰小數點可以在相應的二進位的不同位置浮動,可能是這樣就被定義成浮點型了。 ~不得不佩服這文化程度,定義個資料名稱都這麼有深度~
浮點型常數Java的實數常數有兩種表示法:
1、十進制數形式:由數字和小數點組成,且必須有小數點,如
0.123
,123.0
2、科學計數法形式:如:123e3或123E3 ,其中e或E之前必須有數字,且e或E後面的指數必須為整數(當然也包括負整數)。
科學計數法中的E
#了解浮點型常數Java的實數常數有兩種表示法之後,很有必要給各位科普科普下科學計數法中E
的面貌了~
E
是指數的意思,E
代表的英文是exponent
,E
表示10的多少次方的意思。
例如
7.823E5 = 782300
這裡E5
表示10的5次方,再例如54.3E-2 = 0.543
這裡E-2
表示10的-2次方
#再補充一點(針對負次方理解)
一個數的負幾次方就是這個數的幾次方的倒數。
例如: 2的負1次方=2的1次方分之一=
1/2
例如:3的負2次方=3的2次方分之一=
1/9
#單一精確度浮點數(float)
4個位元組、有效數字8位元、表示範圍:-3.40E 38 ~ 3.40E 38
float,或強制裝換為
在Java語言當中,所有的浮點型字面值~【V8提示】浮點型簡單來說就是表示帶有小數的資料~ 預設當做
double類型來處理,要想該字面值當做
float類型來處理,需要在字面值後面加上
F/f
。具體如下程式碼:<pre class="javascript"> public static void main(String[] args) {
//3.10是浮点型,浮点型字面值默认当做double类型来处理,直接编译通过;
double d=3.10;
//3.10是浮点型,则必须加 F或者f,若没加,直接编译不通过,会报错“损失精度”
float f=3.10; //编译出错会报错“损失精度”
// 解决办法:
// 第一种方式:强制类型转换
float f1=(float)5.1;
// 第二种方式:没有类型转换;
folat f2=5.1f;
}</pre>
再來看看下面的測試,結果肯定十之八九會在意料之外,哈哈~<pre class="javascript"> public static void main(String[] args) {
float a = 12345678.90123456789f;
double b=0.12345678901234567890;
float c=0.12345678901234567890f;
System.out.println(a);
System.out.println(b);
System.out.println(c);
打印结果
a = 1.2345679E7
b = 0.12345678901234568
c = 0.12345679
}</pre>
##雙精確度浮點數( double)
雙精確度浮點數在機內佔
個位元組、有效數字16
位元、表示範圍: -1.79E 308 ~ 1.79E 308
double的精確度太低,不適合用於做財務軟體,財務涉及金錢的問題,要求精度較高,所以在java中有一個基礎的類別庫名為:
以上是什麼是浮點型?單精度浮點數(float)和雙精度浮點數(double)介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!