Mengapakah dua kaedah pengembalian fungsi microtime() dalam PHP berbeza dalam ketepatan?
習慣沉默
習慣沉默 2017-05-24 11:33:37
0
1
545

Persekitaran:
CentOS 7.3.1611
PHP 7.1.3

Kod:

Keluaran:

string(21) "0.23337700 1495449772" float(1495449772.2334)

Soalan:
Jalankan kod berulang kali dan dapatkan hasil yang sama.
Adalah mudah difahami untuk mengeluarkan nilai milisaat 8 digit dalam bentuk rentetan Bagaimanapun, dua digit terakhir sentiasa 0. Apabila output sebagai nombor titik terapung, ketepatan dikawal kepada empat digit sebab?

Pengesahan tambahan:
Pelaksanaanphp -r "echo ini_get('precision'), PHP_EOL;"输出结果为14, jelas sekali bukan tetapan ketepatan titik terapung dalam PHP yang mempengaruhi output masa mikro(). Kata kunci "microtime" tidak ditemui dalam php.ini Nampaknya tiada tetapan khas yang menjejaskan ketepatan output.

Saya keliru dan saya menantikan nasihat pakar.

習慣沉默
習慣沉默

membalas semua (1)
曾经蜡笔没有小新

ini_get('precision')Ketepatan kawalan 14 bermaksud:

float(1495449772.2334) mempunyai jumlah 14 digit, 10 digit sebelum titik perpuluhan dan 4 digit selepas titik perpuluhan Ia tidak bermakna 14 digit selepas titik perpuluhan.

Mari kita lihat hasil kod facet.

ini_set('precision', 18); var_dump(microtime()); var_dump(microtime(true));
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!