Учебники

F # — Типы данных

Типы данных в F # можно классифицировать следующим образом:

  • Интегральные типы
  • Типы с плавающей точкой
  • Типы текста
  • Другие типы

Интегральный тип данных

В следующей таблице приведены интегральные типы данных F #. Это в основном целочисленные типы данных.

Тип F # Размер Спектр пример замечания
SByte 1 байт От -128 до 127

42y

-11y

8-разрядное целое число со знаком
байт 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

200ul

64-разрядное целое число без знака
BIGINT Не менее 4 байтов любое целое число

42i

1499999

9999999

9999999

9999999

9999i

произвольное число точности

42y

-11y

42uy

200uy

42s

-11s

42us

200us

42

-11

42U

200U

42L

-11L

42UL

200ul

42i

1499999

9999999

9999999

9999999

9999i

пример

Live Demo

(* 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 значащих цифр)
десятичный 16 байт ± 1,0e-28 до ± 7,9e28

42.0M

-11.0M

128-битное число с плавающей запятой со знаком (28-29 значащих цифр)
BigRational Не менее 4 байтов Любое рациональное число.

42N

-11N

Произвольная точность рационального числа. Для использования этого типа требуется ссылка на FSharp.PowerPack.dll.

42.0F

-11.0F

42,0

-11,0

42.0M

-11.0M

42N

-11N

пример

Live Demo

(* 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

‘Икс’

«\ Т»

Одиночные символы юникода
строка 20 + (2 * длина строки) байтов От 0 до около 2 миллиардов символов

«Привет»

«Мир»

Текст Unicode

‘Икс’

«\ Т»

«Привет»

«Мир»

пример

Live Demo

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 # Размер Спектр пример замечания
BOOL 1 байт Только два возможных значения, истина или ложь

правда

ложный

Хранит логические значения

правда

ложный

пример

Live Demo

let trueVal = true
let falseVal = false

printfn "True Value: %b" (trueVal)
printfn "False Value: %b" (falseVal)

Когда вы компилируете и запускаете программу, она выдает следующий вывод: