Rumah > pangkalan data > tutorial mysql > Mengapa Bahagian Integer Mengembalikan Sifar Daripada Nilai Perpuluhan?

Mengapa Bahagian Integer Mengembalikan Sifar Daripada Nilai Perpuluhan?

Patricia Arquette
Lepaskan: 2025-01-20 17:25:10
asal
181 orang telah melayarinya

Why Does Integer Division Return Zero Instead of a Decimal Value?

Bahagian Integer dan Keputusan Sifar Tidak Dijangka

Kod contoh menghasilkan hasil sifar daripada operasi bahagi yang dijangkakan nilai perpuluhan (0.073667712). Ini kerana pembolehubah, secara lalai, dianggap sebagai integer. Pembahagian integer dalam banyak bahasa pengaturcaraan memotong (membuang) mana-mana bahagian pecahan hasil, meninggalkan hanya bahagian nombor bulat. Oleh itu, 47 dibahagikan dengan 638 menghasilkan sifar.

Penyelesaian: Menggunakan Jenis Data Titik Terapung

Untuk mendapatkan hasil perpuluhan yang betul, anda mesti menggunakan nombor titik terapung (seperti float atau double bergantung pada bahasa pengaturcaraan). Ini boleh dicapai dalam dua cara:

  1. Isytiharkan Pembolehubah sebagai Terapung: Takrifkan @set1 dan @set2 sebagai jenis data titik terapung dari awal. Sintaks khusus bergantung pada bahasa pengaturcaraan anda.

  2. Jenis Hantaran: Tukar pembolehubah integer kepada terapung secara eksplisit sebelum melaksanakan pembahagian menggunakan fungsi hantaran jenis (seperti CAST dalam SQL atau fungsi serupa dalam bahasa lain). Contohnya:

<code class="language-sql">SET @weight = CAST(@set1 AS float) / CAST(@set2 AS float);</code>
Salin selepas log masuk

Ini memastikan pembahagian dilakukan pada nombor titik terapung, mengekalkan bahagian perpuluhan dan menghasilkan hasil yang dijangkakan kira-kira 0.073667712.

Atas ialah kandungan terperinci Mengapa Bahagian Integer Mengembalikan Sifar Daripada Nilai Perpuluhan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan