Rumah > Java > javaTutorial > teks badan

Mengapa Pembahagian Integer dalam Java Menghasilkan Keputusan Terpenggal?

Linda Hamilton
Lepaskan: 2024-11-17 20:41:02
asal
900 orang telah melayarinya

Why Does Integer Division in Java Produce Truncated Results?

Perangkap Bahagian Integer di Java: Memahami dan Menyelesaikan Keputusan Ralat

Apabila melakukan pembahagian integer di Java, ralat biasa timbul di mana bahagian pecahan daripada hasilnya dibuang, membawa kepada hasil yang tidak dijangka. Isu ini berpunca daripada fakta bahawa pembahagian integer, dalam bentuk lalainya, menganggap kedua-dua operan sebagai integer.

Sebagai contoh, pertimbangkan kod Java berikut:

float res = quantity / standard;
Salin selepas log masuk

Jika kuantiti dan standard adalah integer, operasi bahagi akan melakukan pembahagian integer, menghasilkan nilai terpotong. Ini berlaku kerana tiada bahagian pecahan dalam hasil bahagi integer.

Untuk menyelesaikan isu ini, seseorang mesti menukar secara eksplisit pengangka atau penyebut kepada jenis titik terapung. Dengan berbuat demikian, operasi bahagi akan dipaksa untuk melakukan pembahagian titik terapung, yang mengekalkan bahagian pecahan hasil.

Salah satu pendekatan ialah membuang pengangka ke apungan, seperti ditunjukkan di bawah:

float res = (float) quantity / standard;
Salin selepas log masuk

Sebagai alternatif, jika menggunakan literal, anda boleh memastikan penukaran apungan yang betul dengan menambahkan akhiran "f" pada penyebut, seperti yang dilihat di bawah:

float f = 6800f / 500;
Salin selepas log masuk

Kaedah ini memastikan operasi bahagi dilakukan sebagai operasi titik terapung, mengekalkan bahagian pecahan dan menghapuskan ralat pemotongan yang dihadapi dengan pembahagian integer.

Atas ialah kandungan terperinci Mengapa Pembahagian Integer dalam Java Menghasilkan Keputusan Terpenggal?. 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