我有以下代码:$waitTimeInMs = random_int(500, 1000);// 1E3 = 10 to the power of 3 = 1000echo gettype($waitTimeInMs) .'|'.gettype($waitTimeInMs * 1E3) . '|' . gettype($waitTimeInMs * 1000) .'|' . $waitTimeInMs * 1E3;这返回integer|double|integer|759000。因此,实际上:random_int()返回一个int;乘以1E3返回a double;乘以1000返回int;那么,为什么乘以1E3返回双精度值而不是intif 1000 = 1E3?
2 回答
噜噜哒
TA贡献1784条经验 获得超7个赞
您的假设是错误的:
// 1E3 = 10 to the power of 3 = 1000
1E3
是的简写形式+1.000E3
。根据定义,它是科学计算机符号中的浮点数:
// 1.23E4 => 1.23 * 10^4 // computer => scientific notation of a real number
顺便提一句: 0.123e5 === 1.23e4 === 12.3e3 === 123e2 === 12300e0 === 12300.0
- 2 回答
- 0 关注
- 322 浏览
添加回答
举报
0/150
提交
取消