Типы данных в 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
пример
(* 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
пример
(* 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 |
‘Икс’
«\ Т»
«Привет»
«Мир»
пример
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 байт | Только два возможных значения, истина или ложь |
правда ложный |
Хранит логические значения |
правда
ложный
пример
let trueVal = true let falseVal = false printfn "True Value: %b" (trueVal) printfn "False Value: %b" (falseVal)
Когда вы компилируете и запускаете программу, она выдает следующий вывод: