HarmonyOS鸿蒙Next中巧用数字分隔符区分大整数
HarmonyOS鸿蒙Next中巧用数字分隔符区分大整数 比如我有个常量N,有什么方法能让它更易懂呢?
const N = 233333333333
console.dir(N)
3 回复
可以用_分隔数字,来让常量更易懂:
const N = 2333_3333_3333
console.dir(N)
DevEco运行效果:

其实也可以每一个数字分隔一下,但不要这么做:
const N = 2_3_3_3_3_3_3_3_3_3_3_3
console.dir(N)
更多关于HarmonyOS鸿蒙Next中巧用数字分隔符区分大整数的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,数字分隔符使用下划线(_)来提升大整数的可读性。例如,1000000可写作1_000_000,编译器会忽略下划线,仅处理数字本身。这适用于整数和浮点数,便于区分位数,不影响实际值。语法为在数字间插入下划线,但不能在开头、结尾或连续使用。此特性基于ArkTS语言规范,专为鸿蒙开发设计。
在HarmonyOS Next的ArkTS中,你可以直接使用数字分隔符(下划线 _)来增强大整数的可读性。这个特性与主流现代编程语言(如JavaScript/TypeScript)保持一致。
具体用法如下:
// 使用下划线作为千分位分隔符,使数字更清晰
const N = 233_333_333_333;
console.dir(N); // 输出:233333333333
关键点说明:
- 纯编译时/开发时辅助:下划线分隔符仅在源代码中起作用,用于提升可读性。在代码被编译和运行后,变量
N的值就是纯数字233333333333,分隔符不会被包含在值中。 - 灵活放置:你可以根据数字代表的实际意义(如千、万、百万等)来放置分隔符,不严格限于千分位。例如,对于以万为单位的数字,也可以写为
23_3333_3333,但这通常不如千分位直观。 - 支持多种进制:该分隔符同样适用于二进制(
0b)、八进制(0o)和十六进制(0x)字面量。const hexValue = 0xDE_AD_BE_EF; // 十六进制 const binaryValue = 0b1010_0101_1100; // 二进制 - 使用限制:
- 不能放在数字的最前面(
_123)或最后面(123_)。 - 不能连续使用多个下划线(
1__23)。 - 不能紧邻小数点(
12_.34)或进制前缀(0x_1A)。
- 不能放在数字的最前面(
总结: 在定义大的数值常量时,使用数字分隔符是一种简单有效的代码可读性最佳实践。它能让代码阅读者(包括未来的你自己)快速理解数值的量级,而不会因数位过长而发生误读。

