F # - ประเภทข้อมูล
ประเภทข้อมูลใน F # สามารถจำแนกได้ดังนี้ -
- ประเภทปริพันธ์
- ประเภทจุดลอย
- ประเภทข้อความ
- ประเภทอื่น ๆ
ประเภทข้อมูลอินทิกรัล
ตารางต่อไปนี้แสดงชนิดข้อมูลที่สำคัญของ F # โดยพื้นฐานแล้วเป็นประเภทข้อมูลจำนวนเต็ม
ประเภท F # | ขนาด | พิสัย | ตัวอย่าง | หมายเหตุ |
---|---|---|---|---|
sbyte | 1 ไบต์ | -128 ถึง 127 | 42 ปี -11 ปี |
จำนวนเต็มลงนาม 8 บิต |
ไบต์ | 1 ไบต์ | 0 ถึง 255 | 42 ซื้อ 200 ซื้อ |
จำนวนเต็ม 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 | 42 ล -11 ล |
จำนวนเต็ม 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 # | ขนาด | พิสัย | ตัวอย่าง | หมายเหตุ |
---|---|---|---|---|
ลอย 32 | 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 หลัก) |
ทศนิยม | 16 ไบต์ | ± 1.0e-28 ถึง± 7.9e28 | 42.0 ม -11.0 ม |
เลขทศนิยมที่ลงนาม 128 บิต (เลขนัยสำคัญ 28-29 หลัก) |
BigRational | อย่างน้อย 4 ไบต์ | จำนวนเหตุผลใด ๆ | 42 น -11 น |
จำนวนเหตุผลที่แม่นยำโดยพลการ การใช้ประเภทนี้จำเป็นต้องมีการอ้างอิงถึง 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 # | ขนาด | พิสัย | ตัวอย่าง | หมายเหตุ |
---|---|---|---|---|
ถ่าน | 2 ไบต์ | U + 0000 ถึง U + ffff | 'x' '\ t' |
อักขระ Unicode เดี่ยว |
สตริง | 20 + (ความยาวของสตริง 2 *) ไบต์ | 0 ถึงประมาณ 2 พันล้านอักขระ | "สวัสดี" "โลก" |
ข้อความ 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 ไบต์ | ค่าที่เป็นไปได้เพียงสองค่าคือจริงหรือเท็จ | จริง เท็จ |
เก็บค่าบูลีน |
ตัวอย่าง
let trueVal = true
let falseVal = false
printfn "True Value: %b" (trueVal)
printfn "False Value: %b" (falseVal)
เมื่อคุณคอมไพล์และรันโปรแกรมจะให้ผลลัพธ์ดังต่อไปนี้ -
True Value: true
False Value: false