为了账号安全,请及时绑定邮箱和手机立即绑定

PHP:为什么乘以“ 1E3”会返回双精度而不是整数?

PHP:为什么乘以“ 1E3”会返回双精度而不是整数?

PHP
慕容森 2021-04-27 16:53:05
我有以下代码:$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


查看完整回答
反对 回复 2021-05-07
  • 2 回答
  • 0 关注
  • 322 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信