今でしょ!Swift - 整数と型
整数の境界
let minValue = UInt8.min // minValue は 0 で、 UInt8 型です
let maxValue = UInt8.max // maxValue は 255 で UInt8 型です
いつも使う整数は"+"や”-”も含めて使っていると思います。この"+"のみを表示できる"UInt"として使うことがあります。
普段は自動で認識され数字は"Int"と認識され、小数点の数字は"Double"と自動的に認識されます。
let meaningOfLife = 42
// meaningOfLife は Int 型と推論されます
let pi = 3.14159
// pi は Double 型と推論されます
数値リテラルというのは数字そのもの、0,1,2,3,4・・・ということになります。文字リテラルというと"Hello"という文字そのものを指します。
例示があるように
let decimalInteger = 17
let binaryInteger = 0b10001 // 17 は2進数表記
let octalInteger = 0o21 // 17 は8進数表記
let hexadecimalInteger = 0x11 // 17 は16進数表記
右側に何も書いていないdecimalIntegerは10進数。
浮動小数点数リテラルは、10 進数と 16 進数にできます。
let decimalDouble = 12.1875
let exponentDouble = 1.21875e1
let hexadecimalDouble = 0xC.3p0
アンダースコア(_)を追加することで可読性を向上させることができます
let paddedDouble = 000123.456
let oneMillion = 1_000_000
let justOverOneMillion = 1_000_000.000_000_1
数値型の変換
定数や変数に使う数字は Int 型を使うことが推奨されています。普段使いでは型指定しない限りは"Int"となるので特にややこしいコードにならなければそのまま使えば良いということになります。
もう少し突っ込んで
Intと違ってUIntは扱える範囲が狭まりますので扱いに注意しないといけないということが説明されています。
そこで使われるのが型変換です。
let dnum = 19.987
という数字があります。これは小数点がついているので型はDubleと認識されています。
型を出力してみましょう
print(type(of: dnum))
とすると"Double\n"と出てきます。実際、Dubleと認識されていますね。
これを"Int"に型変換するには
let Inum = Int(dnum)
頭に"Int(変換したい数字又は変数)"とすると指定した型、この場合は"Int"に変換されました。他の型、文字などの変換もできます。文字だと、String()を使えば文字列に変更できます。
let st = String(dnum)
print(type(of: st))
"String\n"と出力されます。文字に変換されました
整数と浮動小数点数の変換
let three = 3
let pointOneFourOneFiveNine = 0.14159
let pi = Double(three) + pointOneFourOneFiveNine
// pi は 3.14159 で Double 型と推論されます
変換、Double型で結合しています。
let integerPi = Int(pi)
さらにInt型に変換します。Int()を使っています。
タイプエイリアス
タイプエイリアス(Type Aliases)を使うことで最初からある型に別の名前を定義することができます。
使い方は"typealias"キーワードをつけます。
typealias AudioSample = UInt16
型の名前をより適切、わかりやすい名前で書きたい場合に使えます。
この記事が気に入ったらサポートをしてみませんか?