奇思妙想 · 2024年 4月 24日 0

数字中间为什么不能插入空格或逗号?

361 次浏览

整数10000不能写成10 000或者10,000, 原因在于为了简化编译器parser字面量的复杂度。一个标准的编译器词法分析器遇到数值类型会不断获取数字并累积,一旦遇到非数字就会退出。如果允许数字中间加空格或者逗号,词法分析器将更复杂,也容易破坏已有语言的结构,产生冲突。当然,一些高级语言为了提升长数值可读性,可以允许数字中间加入一些分隔符:

  • Python (>=3.6版本)可以在数字中间加下划线
    number = 1_000_000
  • Swift可以在整数、浮点数中间加下划线增强可读性
    let number = 1_000_000.000_001