小编odo*_*ugs的帖子

Java:为什么我不能使用科学记数法声明整数类型?

2e15一眼就可以轻易地读作"两千万亿",但是因为2000000000000000我必须计算零,这需要更长的时间并且可能导致错误.

为什么我不能声明intlong使用诸如2e9或之类的文字1.3e6?我理解10的负幂,例如10 2e-3或10的幂小于小数位数,例如1.0003e3,会产生一个浮点数,但为什么Java不允许这样的声明,只是截断浮点部分,并在结果值为非整数的情况下发出温和警告?

是否存在技术上的原因,这是一个坏主意,还是所有关于类型安全的?编译器简单地解析像这样的语句不是微不足道的

long x = 2e12long x = 2000000000000 //OK for long

int y = 2.1234e3作为int y = 2123.4 //warning: loss of precision

java integer scientific-notation exponent long-integer

15
推荐指数
1
解决办法
8437
查看次数