こんにちは😃
今回は、小数点のデータ型をみてみます。
ただ、その前に前回のInt型の補足を・・・。
数値の桁数が多くなった時、「アンダーバー」(_)で桁を
区切って書くことができます。
これによってソースコードが見やすくなり、しかしながら
出力には影響しません。
println(“処理開始ーーーー”)
val typeInt = 10_000_330
val typeBi = 0b00100011_11111111_00011100
println(“${typeInt}と${typeBi}”)
println(“ーーーー処理終了”)
↓ 実行すると、アンダーバーは消えて出力されています。
では、小数点の表現を見ていきましょう。
以前もみましたが、Kotlinでは、「1.0」のように書くと
Double型として認識されます。
Float型としたい場合には、末尾に「f」を付けます。
(大文字の「F」でも大丈夫です。)
println(“処理開始ーーーー”)
val typeDb = 3.14
val typeFl = 3.14f
if (typeDb is Double) {
println(“${typeDb}はDouble型”)
}
if (typeFl is Float) {
println(“${typeFl}はFloat型”)
}
println(“ーーーー処理終了”)
出力は、DoubleでもFloatでも同じです。
ただし、Floatの方が出力できる桁数は小さいです。
実行してみると、どちらも出力が同じなのがわかります。
では、小数点の桁数を増やしてみましょう。
上記の変数を、割り切れない数字に変更します。
val typeDb = 3.14/3
val typeFl = 3.14f/3f
↓ 実行してみると、
Doubleは小数第16まで、Floatは小数第7まで出力
されています。
さらに、次に小数点を指定した桁数分表示してみましょう。
以下は、小数第2まで表示する処理です。
println(“処理開始ーーーー”)
val typeDb = 3.14/3
if (typeDb is Double) {
println(“${typeDb}を小数第二までにすると%.2f”.format(typeDb))
}
println(“ーーーー処理終了”)
7行目の「%」は数値の表示形式を示す記号で、
「.2f」は少数第2位を意味します。
その後ろに「.」を置いて、「format」クラスを呼んでいます。
formatは、文字列を指定した書式に整形するクラスで、
javaでも使われます。
↓ 実行してみると、少数第3が四捨五入されて、少数第2まで
出力されていますね。
数字の詳細な計算は、勘定系システムだと割と肝になりますね。
実際、桁数が多くなると書いて出力してみないとわからないことも
あり面白いところです。
今回は、ここまで🤚
では、また次回。