【Kotlin入門】小数点のデータ型〜DoubleとFloat

Kotlin
スポンサーリンク

こんにちは😃

今回は、小数点のデータ型をみてみます。

ただ、その前に前回のInt型の補足を・・・。

数値の桁数が多くなった時、「アンダーバー」(_)で桁を
区切って書くことができます。
これによってソースコードが見やすくなり、しかしながら
出力には影響しません。

println(“処理開始ーーーー”)

val typeInt = 10_000_330
val typeBi = 0b00100011_11111111_00011100

println(“${typeInt}と${typeBi}”)

println(“ーーーー処理終了”)

↓ 実行すると、アンダーバーは消えて出力されています。
数値型補足1

では、小数点の表現を見ていきましょう。
以前もみましたが、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の方が出力できる桁数は小さいです。

実行してみると、どちらも出力が同じなのがわかります。
小数点高度表現1

では、小数点の桁数を増やしてみましょう。
上記の変数を、割り切れない数字に変更します。

val typeDb = 3.14/3
val typeFl = 3.14f/3f

↓ 実行してみると、
  Doubleは小数第16まで、Floatは小数第7まで出力
  されています。  
小数点高度表現2

さらに、次に小数点を指定した桁数分表示してみましょう。
以下は、小数第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まで
  出力されていますね。
小数点高度表現5

数字の詳細な計算は、勘定系システムだと割と肝になりますね。
実際、桁数が多くなると書いて出力してみないとわからないことも
あり面白いところです。

今回は、ここまで🤚

では、また次回。

【Kotlin入門一覧はこちら】

コメント

タイトルとURLをコピーしました