환경:
CentOS 7.3.1611
PHP 7.1.3
코드:
으아아아출력:
으아아아질문:
코드를 반복해서 실행해도 같은 결과가 나옵니다.
8자리 밀리초 값을 문자열 형태로 출력하면 이해하기 쉽습니다. 어쨌든 마지막 두 자리는 항상 0입니다. 부동 소수점 숫자로 출력할 때 정확도는 4자리로 제어됩니다. 이유?
또 다른 확인:
Executionphp -r "echo ini_get('precision'), PHP_EOL;"
输出结果为14
, 이는 분명히 microtime()의 출력에 영향을 미치는 PHP의 부동 소수점 정밀도 설정이 아닙니다. php.ini에는 "microtime" 키워드가 없습니다. 출력 정확도에 영향을 미치는 특별한 설정은 없는 것 같습니다.
궁금해서 전문가의 조언을 기다립니다.
ini_get('precision')
제어 정확도 14는 다음을 의미합니다.float(1495449772.2334)는 소수점 앞 10자리, 소수점 뒤 4자리 총 14자리입니다. 소수점 이하 14자리를 의미하지는 않습니다.
패싯 코드 결과를 살펴보겠습니다.
으아악