我们知道鸿蒙开发使用的语言时ArkTS
,而ArkTS
是TypeScript
的超集,TypeScript
又是JavaScript
的超集,所以对于基本数据类型使用的是TypeScript
语法。
在TypeScript
中,Number
和number
是两个不同的类型,Number
是JavaScript
中的一个全局对象,可以使用new Number()
来创建一个Number对象。同理对于String
和string
,Boolean
和boolean
也是一样的。
Number
具有一些用于处理数字的方法:
interface Number {
// 转成string类型字符串
toString(radix?: number): string;
// 小数部分保留位数,和toPrecision类似
toFixed(fractionDigits?: number): string;
// 指数计数法
toExponential(fractionDigits?: number): string;
// 入参是包含整数部分的精确位数,和toFixed类似
toPrecision(precision?: number): string;
// 转成number类型数据
valueOf(): number;
}
number
是TypeScript
中的基本数据类型之一,表示任意数字。它包括整数、浮点数、负数等。在声明变量时,可以使用number
关键字来指定变量的类型。
@Component
struct NumberTest {
b: number = 1;
x: Number = new Number(3.11);
y: Number = 3.11
build() {
Column({ space: 20 }) {
Text(`toString:${this.x.toString()}`) // 3.11
Text(`toFixed:${this.x.toFixed(3)}`) // 3.110
Text(`toExponential:${this.x.toExponential(2)}`) // 3.11e+0
Text(`toPrecision:${this.x.toPrecision(4)}`) // 3.110
Text(`valueOf:${this.b + this.x.valueOf()}`) // 4.109999999999999
}.width('100%').height('100%')
}
}
区别:
Number
是一个对象,而number
是一个基本数据类型。Number
对象具有一些特定的方法,而number
只是一个普通的数字类型。在实际使用中,通常更推荐使用number
作为变量的类型,因为它更轻量级且性能更好。