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