如何申明整数类型 HarmonyOS 鸿蒙Next
如何申明整数类型 HarmonyOS 鸿蒙Next
let upper: number = 133 % 16;
let lower: number = 133 / 16;
如何让upper和lower成为整数
5 回复
可参考以下代码:
// 使用位运算符来截断浮点数
function floatToInt(val: number) {
return val | 0
}
@Component
struct Index {
@State message: string = 'Hello World';
aboutToAppear(): void {
let intValue1: number = Math.floor(133 / 16); //向下取整
let intValue2: number = Math.ceil(133 / 16); //向上取整
let intValue3: number = Math.round(133 / 16); //四舍五入取整
let intValue4: number = Math.trunc(133 / 16); //返回整数部分取整
let intValue5: number = floatToInt(133 / 16); //使用位运算符来截断浮点数
console.log('intValue1:' + intValue1);
console.log('intValue2:' + intValue2);
console.log('intValue3:' + intValue3);
console.log('intValue4:' + intValue4);
console.log('intValue5:' + intValue5);
}
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
}
.height('100%')
}
}
更多关于如何申明整数类型 HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
可以自定义一个Integer类型。具体代码如下:
// 定义整数类型标记
type Integer = number & { readonly __brand__: 'integer' };
// 类型保护函数(验证是否为整数)
function isInteger(n: number): n is Integer {
return Number.isInteger(n);
}
// 转换函数(将 number 转换为 Integer)
function toInteger(n: number): Integer {
if (!isInteger(n)) {
throw new Error(`数值 ${n} 不是整数`);
}
return n as Integer;
}
// 正确声明整数变量
const validNumber: number = 42;
if (isInteger(validNumber)) {
let myInt: Integer = validNumber; // 在类型保护块内,直接赋值
}
// 或使用转换函数
let myInt: Integer = toInteger(42);
// 错误示例
let errorInt: Integer = 3.14; // 编译时报错:Type 'number' is not assignable to type 'Integer'
let anotherError = toInteger(3.14); // 运行时报错:数值 3.14 不是整数
取余本就是整数,除法可以用~~(133/16),
不明白你的意思,转成整数?
parseInt(133%16),或者Math.ceil(),Math.floor()
在HarmonyOS鸿蒙Next中,声明整数类型可以使用TypeScript或ArkTS语言。以下是具体示例:
-
使用TypeScript声明整数类型:
let num: number = 42;
这里
number
类型可以表示整数和浮点数。 -
使用ArkTS声明整数类型:
let num: number = 42;
ArkTS基于TypeScript,因此语法相同。
-
声明64位整数: 如果需要64位整数,可以使用
BigInt
类型:let bigNum: bigint = 9007199254740991n;
-
声明无符号整数: TypeScript和ArkTS没有内置的无符号整数类型,但可以通过类型断言或模块处理。
总结:在HarmonyOS鸿蒙Next中,使用number
声明整数类型,64位整数用BigInt
,无符号整数需特殊处理。