HarmonyOS鸿蒙Next中巧用数字分隔符区分大整数

HarmonyOS鸿蒙Next中巧用数字分隔符区分大整数 比如我有个常量N,有什么方法能让它更易懂呢?

const N = 233333333333
console.dir(N)
3 回复

可以用_分隔数字,来让常量更易懂:

const N = 2333_3333_3333
console.dir(N)

DevEco运行效果:

cke_3406.png

其实也可以每一个数字分隔一下,但不要这么做:

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

关键点说明:

  1. 纯编译时/开发时辅助:下划线分隔符仅在源代码中起作用,用于提升可读性。在代码被编译和运行后,变量 N 的值就是纯数字 233333333333,分隔符不会被包含在值中。
  2. 灵活放置:你可以根据数字代表的实际意义(如千、万、百万等)来放置分隔符,不严格限于千分位。例如,对于以万为单位的数字,也可以写为 23_3333_3333,但这通常不如千分位直观。
  3. 支持多种进制:该分隔符同样适用于二进制(0b)、八进制(0o)和十六进制(0x)字面量。
    const hexValue = 0xDE_AD_BE_EF; // 十六进制
    const binaryValue = 0b1010_0101_1100; // 二进制
    
  4. 使用限制
    • 不能放在数字的最前面(_123)或最后面(123_)。
    • 不能连续使用多个下划线(1__23)。
    • 不能紧邻小数点(12_.34)或进制前缀(0x_1A)。

总结: 在定义大的数值常量时,使用数字分隔符是一种简单有效的代码可读性最佳实践。它能让代码阅读者(包括未来的你自己)快速理解数值的量级,而不会因数位过长而发生误读。

回到顶部