Stringを数値に変換


WRAPクラスのstatic methodを使って変換しています。

public class ConvertStoI2 {
   public static void main(String[] args){
      int     int1    = Integer.parseInt("1");
      long    long1   = Long.parseLong("20");
      float   float1  = Float.parseFloat("0.5");
      double  double1 = Double.parseDouble("0.06");
      double  ans1    = int1 + long1 + float1 + double1;
      System.out.println(ans1);
   }
}




<実行結果>
コンソールに21.56 と表示されます。
計算結果であるans1の型はdouble以外を指定するとコンパイルエラーになります。
四則演算の結果は、式の中で使われる型の中で、大きな値を扱う型に変換されてしまうからです。


<数字の表記>
Javaのcodeのなかで、整数の数字を書くとintに解釈されます。longを記述する場合は、3Lや3lと表現します。
小数点付きの数字を書くとdoubleに解釈されます。floatを記述する場合は、3.14Fや3.14fと表現します。

詳しくは、
http://java.sun.com/docs/books/jls/second_edition/html/j.title.doc.html
を参照してください。

桁位置を編集された文字列
例えば12,345,678など位の区切りにカンマを挿入した文字列で、数値を表す場合があります。
その文字列を Integer.parseInt("12,345");と書くと、実行時にNumberFormatExceptionが発生し、実行できません。
そのような文字列を数値に変換したい場合は、NumberFormat classやDecimalFormat classを使います。


< Java Primitive Type>

TYPE SIZE(bit) DATA RANGE COMMENT
int 32 from -2147483648 to 2147483647 符号付整数 from (231-1)  to (-231)
long 64 from -9223372036854775808
to -9223372036854775807
符号付整数 from (263-1)  to (-263)
float 32 from 1.40239846e-45f to 3.40282347e+38f  浮動小数点
double 64 from 4.94065645841246544e-324.
to 1.79769313486231570e+308
浮動小数点
char 16 Unicode character (1文字) Unicode文字
boolean 1 true or false 真もしくは偽


intとIntgerとStringの変換メソッドの関連図もあります。