[Java基礎③]データの変換(キャストする)整数→実数 文字列→整数
初めに
Java学習3日目です。今回は、データ型の変換について学びました。
データ型の変換をデータのキャストと言うそうです。
小数点あり→整数型
double型の3.14と定義した値を3と表示します。
コード
public class Main {
public static void main(String[] args) {
double number1 = 3.14;
System.out.println((int)number1);
}
}
整数を小数点ありに変換
コード
public class Main {
public static void main(String[] args) {
double number1 = 3;
System.out.println((double)number1);
}
}
文字列を数値に変換
コード
public class Main {
public static void main(String[] args) {
String text = "123";
System.out.println(text);
#出力結果 123
System.out.println(Integer.parseInt(text));
#出力結果 123
System.out.println(Double.parseDouble(text));
#出力結果 123.0
}
}
「parseInt」は文字列はint型に変換してくれるメソッド。
「parseDouble」は文字列をdouble型に変換してくれるメソッド。
捕捉 データ型の自動変換
割引価格を計算してみる
以下のコードはエラーになります。
int discountPrice = price * 0.5;
は、
int型で定義していますが0.5という少数をかけることにより、
double型に変換されてしまっているからです。
エラーになるコード
public class Main {
public static void main(String[] args) {
int price = 1800;
System.out.println("定価" + price + "円");
int discountPrice = price * 0.5;
System.out.println("割引価格は" + discountPrice + "円");
}
}
一部、以下のように修正します。
intにキャストする
int discountPrice = (int)(price * 0.5);
消費税こみの価格を出す
コード
public class Main {
public static void main(String[] args) {
int price = 1800;
System.out.println("定価" + price + "円");
int discountPrice = (int)(price * 0.5);
System.out.println("割引価格は" + discountPrice + "円");
int taxinPrice = (int)(discountPrice*1.1);
System.out.println("税込価格は" + taxinPrice + "円");
}
}
まとめ
データ型の変換を「キャストする」と言う。
#文字列→整数
System.out.println(Integer.parseInt(text));
#文字列→実数
System.out.println(Double.parseDouble(text));
#intで定義してても、少数点のある数字をかけると、double型になる。
int discountPrice = price * 0.5;は、
double型に自動変換されてしまう。
以下のようにint型にキャストする。
int discountPrice = (int)(price * 0.5);
Author And Source
この問題について([Java基礎③]データの変換(キャストする)整数→実数 文字列→整数), 我々は、より多くの情報をここで見つけました https://qiita.com/ki_87/items/d46894a91ec939853467著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .