开发手册 欢迎您!
软件开发者资料库

F#数据类型

F#中的数据类型可分类如下: - 整数类型 浮点类型 文本类型 其他类型整体数据类型下表提供了F#的积分数据类型。 这些基本上是整数数据类型。 F#类型 大小 范围 例子 备注 sbyte 1个字节 -128到127 42Y -11y 8位有符号整数 byte 1个字节 0到2

F#中的数据类型可分类如下: -

  • 整数类型
  • 浮点类型
  • 文本类型
  • 其他类型

整体数据类型

下表提供了F#的积分数据类型。 这些基本上是整数数据类型。

F#类型 大小 范围 例子 备注
sbyte 1个字节 -128到127

42Y

-11y

8位有符号整数
byte 1个字节 0到255

42uy

200uy

8位无符号整数
int16 2个字节 -32768到32767

42S

-11s

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

200μl的

64位无符号整数
bigint 至少4个字节 任何整数

42I

1499999

9999999

9999999

9999999

9999I

任意精度的整数

(* signed floating point number *)let x = 268.97flet y = 312.58flet z = x + yprintfn "x: %f" xprintfn "y: %f" yprintfn "z: %f" z(* unsigned 8-bit natural number *)let p = 2uylet q = 4uylet r = p + qprintfn "p: %i" pprintfn "q: %i" qprintfn "r: %i" r(* signed 16-bit integer *)let a = 12slet b = 24slet c = a + bprintfn "a: %i" aprintfn "b: %i" bprintfn "c: %i" c(* signed 32-bit integer *)let d = 212llet e = 504llet f = d + eprintfn "d: %i" dprintfn "e: %i" eprintfn "f: %i" f

当你编译和执行程序,它产生以下输出 -

x: 1y: 2z: 3p: 2q: 4r: 6a: 12b: 24c: 36d: 212e: 504f: 716

浮点数据类型

下表提供F#的浮点数据类型。

F#类型 大小 范围 例子 备注
float32 4个字节 ±1.5E-45至±3.4E38

42.0F

-11.0F

32位有符号浮点数(7个有效位)
float 8个字节 ±5.0E-324到±1.7e308

42.0

-11.0

64位有符号浮点数(15-16有效位)
decimal 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.098flet e = 504.768flet f = d + eprintfn "d: %f" dprintfn "e: %f" eprintfn "f: %f" f(* 64-bit signed floating point number *)(* 15-16 significant digits *)let x = 21290.098let y = 50446.768let z = x + yprintfn "x: %g" xprintfn "y: %g" yprintfn "z: %g" z

当你编译和执行程序,它产生以下输出 

d: 212.098000e: 504.768000f: 716.866000x: 21290.1y: 50446.8z: 71736.9

text数据类型

下表提供F#的文本数据类型。

F#类型 尺寸 范围 备注
char 2个字节 U + 0000至U + FFFF

'x'

'\t'

单个Unicode字符
string 20 +(2 *字符串的长度)个字节 0至约2十亿个字符

"Hello"

"World"

Unicode文本

let choice = 'y'let name = "Zara Ali"let org = "Tutorials Point"printfn "Choice: %c" choiceprintfn "Name: %s" nameprintfn "Organisation: %s" org

当你编译和执行程序,它产生以下输出 -

Choice: yName: Zara AliOrganisation: Tutorials Point

其他数据类型

下表提供的F#的某些其它数据类型。

F#类型 大小 范围 例子 备注
bool 1个字节 只有两个可能值,真或假

true

false

存储布尔值

let trueVal = truelet falseVal = falseprintfn "True Value: %b" (trueVal)printfn "False Value: %b" (falseVal)

当你编译和执行程序,它产生以下输出 

True Value: trueFalse Value: false