Rumah >pembangunan bahagian belakang >masalah PHP >Apakah perbezaan antara float dan double dalam php

Apakah perbezaan antara float dan double dalam php

WBOY
WBOYasal
2022-02-17 15:50:092553semak imbas

Dalam PHP, tiada perbezaan antara float dan double. Jenis titik terapung juga dipanggil floating point number, double precision number double atau real number real dalam PHP, double atau real adalah jenis data yang sama dan boleh ditakrifkan menggunakan sintaks yang sama.

Apakah perbezaan antara float dan double dalam php

Persekitaran pengendalian tutorial ini: sistem Windows 10, PHP versi 7.1, komputer DELL G3

Apakah perbezaan antara float dan double dalam php

Untuk membezakan perbezaan antara float dan double dalam php, saya menggunakan kod berikut untuk mengeluarkannya masing-masing.

$vad = 1.1;
print gettype($vad);
var_dump($vad);

Ini akan mengeluarkan:

double
float(1.1)

Ia kelihatan berbeza, tetapi sebenarnya dalam php, tiada perbezaan. float, double atau real adalah jenis data yang sama. Float (juga dipanggil float, double atau real. Pada tahap C, semuanya disimpan sebagai double.

Saiz sebenar masih bergantung pada platform. Lihat manual untuk butiran:

http: //www.php.net/manual/en/language.types.float.php

Ketepatan nombor titik terapung

Nombor titik terapung mempunyai ketepatan yang terhad Bergantung pada sistem, PHP biasanya menggunakan format berganda IEEE 754, ralat relatif maksimum akibat pembundaran ialah 1.11e-16 operasi matematik bukan asas boleh memberi ralat yang lebih besar, dan diambil kira semasa melakukan operasi ralat

Selain itu , nombor rasional seperti 0.1 atau 0.7 yang boleh diwakili tepat dalam perpuluhan, tidak kira berapa banyak mantissas, tidak boleh diwakili dengan tepat oleh binari yang digunakan secara dalaman dan oleh itu tidak boleh ditukar tanpa kehilangan sedikit ketepatan dalam format binari menyebabkan hasil yang mengelirukan: contohnya, floor((0.1 0.7)*10) biasanya akan mengembalikan 7 dan bukannya 8 yang dijangkakan, kerana perwakilan dalaman hasil sebenarnya adalah seperti 7.999999999999991118….

Jadi, jangan sekali-kali mempercayai titik terapung itu keputusan adalah tepat kepada digit terakhir, dan jangan sekali-kali membandingkan sama ada dua nombor titik terapung adalah sama Jika anda benar-benar memerlukan ketepatan yang lebih tinggi, anda harus menggunakan fungsi matematik ketepatan arbitrari atau fungsi gmp: "

Tutorial Video PHP

"

Atas ialah kandungan terperinci Apakah perbezaan antara float dan double dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn