F#-データ型
F#のデータ型は次のように分類できます-
- 整数型
- 浮動小数点型
- テキストタイプ
- 他のタイプ
整数データ型
次の表に、F#の整数データ型を示します。これらは基本的に整数データ型です。
F#タイプ | サイズ | 範囲 | 例 | 備考 |
---|---|---|---|---|
sbyte | 1バイト | -128〜127 | 42年 -11年 |
8ビット符号付き整数 |
バイト | 1バイト | 0から255 | 42uy 200uy |
8ビットの符号なし整数 |
int16 | 2バイト | -32768〜32767 | 42秒 -11秒 |
16ビット符号付き整数 |
uint16 | 2バイト | 0〜65,535 | 42us 200us |
16ビット符号なし整数 |
int / int32 | 4バイト | -2,147,483,648から2,147,483,647 | 42 -11 |
32ビット符号付き整数 |
uint32 | 4バイト | 0から4,294,967,295 | 42u 200u |
32ビットの符号なし整数 |
int64 | 8バイト | -9,223,372,036,854,775,808から9,223,372,036,854,775,807 | 42L -11L |
64ビット符号付き整数 |
uint64 | 8バイト | 0から18,446,744,073,709,551,615 | 42UL 200UL |
64ビットの符号なし整数 |
bigint | 少なくとも4バイト | 任意の整数 | 42I 1499999 9999999 9999999 9999999 9999I |
任意精度の整数 |
例
(* single byte integer *)
let x = 268.97f
let y = 312.58f
let z = x + y
printfn "x: %f" x
printfn "y: %f" y
printfn "z: %f" z
(* unsigned 8-bit natural number *)
let p = 2uy
let q = 4uy
let r = p + q
printfn "p: %i" p
printfn "q: %i" q
printfn "r: %i" r
(* signed 16-bit integer *)
let a = 12s
let b = 24s
let c = a + b
printfn "a: %i" a
printfn "b: %i" b
printfn "c: %i" c
(* signed 32-bit integer *)
let d = 212l
let e = 504l
let f = d + e
printfn "d: %i" d
printfn "e: %i" e
printfn "f: %i" f
プログラムをコンパイルして実行すると、次の出力が生成されます。
x: 1
y: 2
z: 3
p: 2
q: 4
r: 6
a: 12
b: 24
c: 36
d: 212
e: 504
f: 716
浮動小数点データ型
次の表に、F#の浮動小数点データ型を示します。
F#タイプ | サイズ | 範囲 | 例 | 備考 |
---|---|---|---|---|
float32 | 4バイト | ±1.5e-45〜±3.4e38 | 42.0F -11.0F |
32ビット符号付き浮動小数点数(有効数字7桁) |
浮く | 8バイト | ±5.0e-324〜±1.7e308 | 42.0 -11.0 |
64ビットの符号付き浮動小数点数(有効数字15〜16桁) |
10進数 | 16バイト | ±1.0e-28〜±7.9e28 | 42.0M -11.0M |
128ビットの符号付き浮動小数点数(有効数字28〜29桁) |
BigRational | 少なくとも4バイト | 任意の有理数。 | 42N -11N |
任意精度の有理数。このタイプを使用するには、FSharp.PowerPack.dllへの参照が必要です。 |
例
(* 32-bit signed floating point number *)
(* 7 significant digits *)
let d = 212.098f
let e = 504.768f
let f = d + e
printfn "d: %f" d
printfn "e: %f" e
printfn "f: %f" f
(* 64-bit signed floating point number *)
(* 15-16 significant digits *)
let x = 21290.098
let y = 50446.768
let z = x + y
printfn "x: %g" x
printfn "y: %g" y
printfn "z: %g" z
プログラムをコンパイルして実行すると、次の出力が生成されます。
d: 212.098000
e: 504.768000
f: 716.866000
x: 21290.1
y: 50446.8
z: 71736.9
テキストデータ型
次の表に、F#のテキストデータ型を示します。
F#タイプ | サイズ | 範囲 | 例 | 備考 |
---|---|---|---|---|
char | 2バイト | U +0000からU + ffff | 'バツ' '\ t' |
単一のUnicode文字 |
ストリング | 20 +(2 *文字列の長さ)バイト | 0から約20億文字 | "こんにちは" "世界" |
Unicodeテキスト |
例
let choice = 'y'
let name = "Zara Ali"
let org = "Tutorials Point"
printfn "Choice: %c" choice
printfn "Name: %s" name
printfn "Organisation: %s" org
プログラムをコンパイルして実行すると、次の出力が生成されます。
Choice: y
Name: Zara Ali
Organisation: Tutorials Point
その他のデータ型
次の表に、F#の他のデータ型をいくつか示します。
F#タイプ | サイズ | 範囲 | 例 | 備考 |
---|---|---|---|---|
ブール | 1バイト | trueまたはfalseの2つの可能な値のみ | true false |
ブール値を格納します |
例
let trueVal = true
let falseVal = false
printfn "True Value: %b" (trueVal)
printfn "False Value: %b" (falseVal)
プログラムをコンパイルして実行すると、次の出力が生成されます。
True Value: true
False Value: false