好吧,如果你的意思是为什么,我们将不得不希望其中一个负责语法的人会加入.它看起来好像使指数可选不会伤害解析文字的能力,但我没有'我仔细考虑了一下.我能提供的只是Java语言规范§3.10.2要求它:
对于十六进制浮点文字,至少需要一个数字(在整数或小数部分中),并且指数是必需的,浮点类型后缀是可选的.指数由ASCII字母p或P表示,后跟可选的有符号整数.
在之前的 Stack Overflow 问题中,有一些“为什么”的衡量标准:
和这里:
@NPE 的这个“最佳答案”给出了一个理由:
乍一看,0x 前缀似乎足以识别十六进制浮点文字,那么为什么 Java 设计者选择将字母从 e 更改为 p?这与 e 是有效的十六进制数字有关,因此保留它会导致解析歧义。考虑:
0x1e+2
这是一个十六进制双精度数还是两个整数 0x1e 和 2 的和?当我们将 e 改为 p 时,歧义就解决了:
0x1p+2
| 归档时间: |
|
| 查看次数: |
293 次 |
| 最近记录: |