# 数字类型
在本教程中,你将学习 TypeScript 中的数字数据类型。
TypeScript 中的所有数字,要么是浮点数,那么是大整数,浮点数的类型是 number 而大数字的类型是 bigint。
# 数字类型
下面的例子展示如果声明一个保存浮点数的变量:
let price: number;
1
或者你可以将 price 变量初始化为一个数字:
let price = 9.95;
1
和 JavaScript 一样,TypeScript 支持十进制,十六进制,二进制和八进制的数字字面量。
# 十进制数字
下面展示了一些十进制数字:
let counter: number = 0;
let x: number = 100,
y: number = 200;
1
2
3
2
3
# 二进制数字
二进制数字的形式为:一个前导 0,后面跟着一个小写或大写的字母 B 的形式,比如 0b 或 0B:
let bin = 0b100;
let anotherBin: number = 0b010;
1
2
2
注意在 0b 或 0B 后面必须是数字 0 或数字 1。
# 八进制数字
八进制数字的形式为:一个前导 0,后面跟着字母 o(自 ES2015 以来),即 0o 的形式。在 0o 后面的数字的范围在数字 0 和数字 7 之间。
let octal: number = 0o10;
1
# 十六进制数字
十六进制数字的形式为:一个前导 0,后面跟着一个小写或大写字母 X (0x 或 0X)的形式。在 0x 后面的数字的范围必须在 (0123456789ABCDEF) 之间,如下所示:
let hexadecimal: number = 0xa;
1
JavaScript 有一个 Number 类型(注意是大写字母 N),该类型表示的是非原始,封装的对象类型,在 TypeScript 中尽可能不使用 Number 类型。
# 大整数
大整数表示大于 2^53 – 1 的所有整数,一个大整数的末尾带有一个 n 字符,如下所示:
let big: bigint = 9007199254740991n;
1
# 小结
- TypeScript 中的所有数字,要么是
number类型的浮点数,那么是bigint类型的大整数; - 尽可能避免使用
Number类型。