Javaの数値と文字列を変換するサンプルです。
目次
サンプル | 数値を文字列に変換 |
文字列を数値(int型)に変換 | |
文字列を数値(long型)に変換 | |
文字列を数値(float/double型)に変換 | |
int型とdouble型を変換 | |
文字のUTF16の文字コードを取得 |
数値を文字列に変換
valueOfを使用します。
package test1;
public class Test1 {
public static void main(String[] args) {
int num1 = 100; // int型
long num2 = 100; // long型
float num3 = 100.25f; // float型
double num4 = 100.25; // double型
String str1 = String.valueOf(num1);
String str2 = String.valueOf(num2);
String str3 = String.valueOf(num3);
String str4 = String.valueOf(num4);
}
}
文字列を数値(int型)にする
valueOfまたはparsIntを使用します。
package test1;
public class Test1 {
public static void main(String[] args) {
String str1 = "100";
int num1 = Integer.valueOf(str1); //int型に変換
int num2 = Integer.parseInt(str1);
String str2 = "-100";
int num3 = Integer.valueOf(str2); //int型に変換
int num4 = Integer.parseInt(str2);
}
}
文字列を数値(long型)にする
valueOfまたはparseLongを使用します。
package test1;
public class Test1 {
public static void main(String[] args) {
String str1 = "100";
long num1 = Long.valueOf(str1); //long型に変換
long num2 = Long.parseLong(str1);
String str2 = "-100";
long num3 = Long.valueOf(str2); //long型に変換
long num4 = Long.parseLong(str2);
}
}
文字列を数値(float/double型)に変換
valueOfまたはparseFloat/parseDoubleを使用します。
package test1;
public class Test1 {
public static void main(String[] args) {
String str1 = "100.25";
float num1 = Float.valueOf(str1); //float型に変換
float num2 = Float.parseFloat(str1);
double num3 = Double.valueOf(str1); //double型に変換
double num4 = Double.parseDouble(str1);
}
}
int型とdouble型を変換
package test1;
public class Test1 {
public static void main(String[] args) {
int a = 100;
double b = a; //int型からdouble型に変換
System.out.println(b); // 100.0
double c = 100.25;
int d = (int) c; //double型からint型に変換
System.out.println(d); // 100
}
}
6行目は、int型からdouble型に変換しています。
暗黙的に型変換が行われるのでそのまま代入できます。
10行目は、double型からint型に変換しています。変数への代入はキャストを行います。
キャストは、かっこ( )が必要です。小数の値はなくなります。
文字のUTF16の文字コードを取得
package test1;
public class Test1 {
public static void main(String[] args) {
char c1 = 'A';
System.out.println(Integer.toHexString((int)c1)); //41
char c2 = 'あ';
System.out.println(Integer.toHexString((int)c2)); //3042
}
}
char型の文字をintでキャストしtoHexStringで16進数表現に変換します。
関連の記事