Rumah >Java >javaTutorial >Mengapa Pembahagian Integer di Java Menghasilkan Keputusan yang Tidak Dijangka?

Mengapa Pembahagian Integer di Java Menghasilkan Keputusan yang Tidak Dijangka?

Susan Sarandon
Susan Sarandonasal
2024-11-16 06:17:03639semak imbas

Why Does Integer Division in Java Produce Unexpected Results?

Bahagian Integer: Memahami Gelagat Tidak Dijangka

Di Java, pembahagian integer melakukan pembahagian antara dua nilai integer, membuang bahagian pecahan hasil . Tingkah laku ini boleh membawa kepada hasil yang tidak dijangka, seperti yang ditunjukkan dalam kod berikut:

int quantity = 6800;
int standard = 500;
float res = quantity / standard;

Hasil Jangkaan: 13.6

Keputusan Sebenar: 13.0

Satu penjelasan untuk percanggahan ini terletak dalam pembahagian integer yang dilakukan. Pembahagian integer memotong keputusan, mengakibatkan kehilangan bahagian pecahan. Untuk mendapatkan hasil yang betul, kita perlu memaksa pembahagian untuk dianggap sebagai pembahagian titik terapung.

Ini boleh dicapai dengan menghantar pengangka terapung secara eksplisit:

float res = (float) quantity / standard;

Sebagai alternatif , jika berurusan dengan literal, kita boleh menambahkan akhiran 'f' kepada penyebut untuk menunjukkan a apungan:

float res = 6800f / 500;

Dengan menggunakan pembahagian apungan, kami menghalang pembahagian integer dan mengekalkan bahagian pecahan hasil. Pendekatan ini secara konsisten akan menghasilkan hasil yang dijangkakan: 13.6.

Atas ialah kandungan terperinci Mengapa Pembahagian Integer di Java Menghasilkan Keputusan yang Tidak Dijangka?. 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