將 String類型轉換為數字類型的時候要注意,數據類型的范圍
整型:
byte的取值范圍為-128~127,占用1個字節(-2的7次方到2的7次方-1)
short的取值范圍為-32768~32767,占用2個字節(-2的15次方到2的15次方-1)
int的取值范圍為(-2147483648~2147483647),占用4個字節(-2的31次方到2的31次方-1)
long的取值范圍為(-9223372036854774808~9223372036854774807),占用8個字節(-2的63次方到2的63次方-1)
至於表示方法:如:22B,表示它是byte型的,同樣的22S表示short型,22L表示long型的,表示int我們可以什么都不用加
浮點型 :
float 3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同樣,e-45表示乘以10的負45次方)占用4個字節
double 1.797693e+308~ 4.9000000e-324 占用8個字節
double型比float型存儲范圍更大,精度更高,所以通常的浮點型的數據在不聲明的情況下都是double型的,如果要表示一個數據是float型的,可以在數據后面加上“F”。
要是超出數字范圍或者不是數字類型就會報錯。
主要的實現是借助 方法 Paes*(解析)
比如:字符串轉換為 double 類型
Double.parseDouble(s1);
代碼:
package com.obge.contr; public class ChangeStoN { public static void main(String[] args) { String s1 = "2222"; //String s2 = "aaa2"; // 也是靠包裝類 double d1 = Double.parseDouble(s1); //double d2 = Double.parseDouble(s2); float f1= Float.parseFloat(s1); //byte by1 = Byte.parseByte(s1); short st1 = Short.parseShort(s1); long l1 = Long.parseLong(s1); int i1 = Integer.parseInt(s1); System.out.println("轉換前:"); System.out.println(s1+"的類型是:"+getType(s1)); System.out.println("轉換后:"); System.out.println(d1+"的類型是:"+getType(d1)); //System.out.println(d2+"的類型是:"+getType(d2)); System.out.println(f1+"的類型是:"+getType(f1)); //System.out.println(by1+"的類型是:"+getType(by1)); System.out.println(st1+"的類型是:"+getType(st1)); System.out.println(l1+"的類型是:"+getType(l1)); System.out.println(i1+"的類型是:"+getType(i1)); //System.out.println("的類型是:"+getType(Double.parseDouble(s2))); //System.out.println(i1+"轉換前的類型是:"+getType(i1)+"轉換后的類型是:"+getType(si1)); } //獲取變量類型方法 public static String getType(Object o){ //調用該方法返回變量類型 getClass()方法 return o.getClass().toString(); } }
看看調用了什么靜態方法,注意哦要想看的詳細,要引用jdk 對應的文檔
其他的也都差不多