TypeScript系列之类型 number


1、数值类型(number)

数字类型,和 JavaScript 一样,TypeScript的数值类型都是浮点数,可支持二进制、八进制、十进制和十六进制

let num: number = 123;
// num = "456";
// error TS2322: Type 'string' is not assignable to type 'number'.
// 不能将类型“string”分配给类型“number”。ts(2322)
num = 456;

进制表示:

let binaryLiteral: number = 0b1010; // 二进制
let octalLiteral: number = 0o744; // 八进制
let decLiteral: number = 6; // 十进制
let hexLiteral: number = 0xf00d; // 十六进制

转换成JavaScript代码:

var binaryLiteral = 10; // 二进制
var octalLiteral = 484; // 八进制
var decLiteral = 6; // 十进制
var hexLiteral = 0xf00d; // 十六进制

发现只有十六进制还保持原来的数值,其他的都转换成十进制了。

1.1、什么是二进制、八进制、十进制、十六进制

  • 二进制:二进制数据是用 0 和 1 两个数码来表示的数。它的基数为 2,进位规则是“逢二进一”,借位规则是“借一当二”。
  • 八进制:八进制是一种以 8 为基数的计数法,采用 0,1,2,3,4,5,6,7 八个数字,逢八进 1。
  • 十进制:十进制数就是用 0、1、2 …9,这十个数来表示的数。
  • 十六进制:十六进制是计算机中数据的一种表示方法。同我们日常中的十进制表示法不一样。一般用数字 0 到 9 和字母 A 到 F(或 a~f)表示,这些数字和字母任意组合用来表示 0~15 之间的某个字。其中 A~F 表示 10~15,这些称作十六进制数。

2、范围

number类型能表示在-2^532^53之间的整数,同时也能够表示小数。

3、类型特性

3.1、支持基本数学运算

number 类型支持基本的数学运算,如加法、减法、乘法和除法。可以使用 +、-、* 和 / 运算符进行数值计算。例如,可以执行 let result: number = 10 + 5; 来得到 15

3.2、提供数值范围检查

number 类型提供了最大值和最小值的常量,以及一些函数用于检查数值的范围。最大值常量为 Number.MAX_VALUE,最小值常量为 Number.MIN_VALUE。可以使用 Number.isSafeInteger() 函数来检查一个数值是否在安全整数范围内。

3.3、支持科学计数法

number 类型可以使用科学计数法来表示非常大或非常小的数值。例如,可以使用 let largeNum: number = 1e6; 来表示 1000000

3.4、具有特殊数值

number 类型还具有一些特殊的数值,如正无穷大(Infinity)、负无穷大(-Infinity)和非数值(NaN)。这些特殊数值可以通过 Number.POSITIVE_INFINITYNumber.NEGATIVE_INFINITYNumber.NaN 来表示。

4、常见的操作

TypeScript 中,可以对 number 类型进行许多常见的操作,其中包括但不限于以下几种:

4.1、类型转换

可以使用 parseInt()parseFloat() 函数将字符串转换为 number 类型。例如,let num: number = parseInt("10"); 将字符串 “10” 转换为 number 类型的数值。

4.2、数值校验

可以使用 isNaN() 函数判断一个数值是否为非数值(NaN)。返回值为 true 表示是非数值,返回值为 false 表示不是非数值。例如,let result: boolean = isNaN(10); 返回 false,表示数字 10 不是非数值。

4.3、数值格式化

可以使用 toFixed() 方法将一个数值保留指定的小数位数,并返回一个字符串。该方法会四舍五入到指定的小数位数。例如,let num: number = 3.14159; num.toFixed(2); 返回字符串 “3.14”。

4.4、数值比较

可以使用比较运算符(>, <, >=, <=) 来比较两个 number 类型的数值。返回值为布尔类型,表示比较结果是否为真。例如,let result: boolean = 10 > 5; 返回 true,表示数字 10 大于 5。

4.5、数值运算

可以使用基本的数学运算符(+, -, *, /) 对 number 类型的数值进行加法、减法、乘法和除法运算。例如,let result: number = 10 + 5; 返回数值 15。

5、注意事项

在使用 number 类型时,需要注意以下几点:

  1. 浮点数精度问题:由于计算机内部对于浮点数的存储方式,可能会导致浮点数精度不准确。在进行浮点数的比较时,建议使用近似比较而不是精确比较。
  2. 整数溢出问题:number 类型可以表示的整数范围较大,但超出范围的整数会导致溢出。在进行整数计算时,要确保结果不会溢出。
  3. 类型转换问题:在进行类型转换时,需要注意源数据的格式和目标数据的期望类型,以避免错误的转换结果。
  4. 特殊数值问题:特殊数值(Infinity、-Infinity 和 NaN) 可能会导致计算结果异常。在进行数值操作时,要注意处理特殊数值的情况。

参考

  1. TypeScript 中的 Number 类型,Number 类型的特性、常见操作和注意事项

写在最后

如果你感觉文章不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果你觉得该文章有一点点用处,可以给作者点个赞;\\*^o^*//
如果你想要和作者一起进步,可以微信扫描二维码,关注前端老L~~~///(^v^)\\\~~~
谢谢各位读者们啦(^_^)∠※!!!

猜你喜欢

转载自blog.csdn.net/weixin_62277266/article/details/133000279