一、parseInt()
parseInt()方法首先查看位置0處的 字符,判斷它是否是個有效數字;如果不是,該方法將返回NaN,不再繼續執行其他操作。但如果該字符是有效數字,該方法將查看位置1處的字符,進行同樣的 測試。這一過程將持續到發現非有效數字的字符為止,此時parseInt()將把該字符之前的字符串轉換成數字。
例如
如果要把字符串 "1234blue "轉換成整數,那么parseInt()將返回1234,因為當它檢測到字符b時,就會停止檢測過程。
parseInt()方法還有基模式,可以把二進制、八進制、十六進制或其他任何進制的字符串轉換成整數。
基是由parseInt()方法的第二個參數指定的,所以要解析十六進制的值,當然,對二進制、八進制,甚至十進制(默認模式),都可以這樣調用parseInt()方法。
輸出結果:
不過,對於這個方法來說,第一個出現的小數點是有效字符。如果有兩個小數點,第二個小數點將被看作無效的, parseFloat
()方法會把這個小數點之前的字符串轉換成數字。這意味着字符串 "22.34.5 "將被解析成22.34。
使用parseFloat()方法的另一不同之處在於,字符串必須以十進制形式表示浮點數,而不能用八進制形式或十六進制形式。
該方法會忽略前導0,所以八進制數0908將被解析為908。對於十六進制數0xA,該方法將返回NaN,因為在浮點數中,x不是有效字符。
parseInt()方法首先查看位置0處的 字符,判斷它是否是個有效數字;如果不是,該方法將返回NaN,不再繼續執行其他操作。但如果該字符是有效數字,該方法將查看位置1處的字符,進行同樣的 測試。這一過程將持續到發現非有效數字的字符為止,此時parseInt()將把該字符之前的字符串轉換成數字。
例如
如果要把字符串 "1234blue "轉換成整數,那么parseInt()將返回1234,因為當它檢測到字符b時,就會停止檢測過程。
parseInt()方法還有基模式,可以把二進制、八進制、十六進制或其他任何進制的字符串轉換成整數。
基是由parseInt()方法的第二個參數指定的,所以要解析十六進制的值,當然,對二進制、八進制,甚至十進制(默認模式),都可以這樣調用parseInt()方法。
如果十進制數包含前導0,那么最好采用基數10,這樣才不會意外地得到八進制的值。
該方法的所有變形:
static int parseInt(String s) static int parseInt(String s, int radix)參數:
下面是參數的細節的:
-
String s : 這是十進制的字符串表示形式。
-
int radix : 這將用於將字符串轉換為整數。
返回值:
-
parseInt(String s): This returns an integer (decimal only).
-
parseInt(int i): This returns an integer, given a string representation of decimal, binary, octal, or hexadecimal (radix equals 10, 2, 8, or 16 respectively) numbers as input.
- public class Test{
- public static void main(String args[]){
- int x =Integer.parseInt("9");
- double c = Double.parseDouble("5");
- int b = Integer.parseInt("444",16);
- //by www.yiibai.com/java
- System.out.println(x);
- System.out.println(c);
- System.out.println(b);
- }
- }
9 5.0 1092
二、parseFloat()
與parseInt()方法的處理方式相似,從位置0開始查看每個字符,直到找到第一個非有效的字符為止,然后把該字 符之前的字符串轉換成數字。不過,對於這個方法來說,第一個出現的小數點是有效字符。如果有兩個小數點,第二個小數點將被看作無效的, parseFloat
()方法會把這個小數點之前的字符串轉換成數字。這意味着字符串 "22.34.5 "將被解析成22.34。
使用parseFloat()方法的另一不同之處在於,字符串必須以十進制形式表示浮點數,而不能用八進制形式或十六進制形式。
該方法會忽略前導0,所以八進制數0908將被解析為908。對於十六進制數0xA,該方法將返回NaN,因為在浮點數中,x不是有效字符。
此外,parseFloat()也沒有基模式。
實例:
- parseFloat("1234blue");//return 1234.0
- parseFloat("22.34.5");//return 22.34
- parseFloat("0908");//return 908
- parseFloat("blue");//return NaN