Rumah > pembangunan bahagian belakang > C++ > Mengapa Bahagian Integer C# Membundarkan Ke Bawah, dan Bagaimana Saya Boleh Menghalangnya?

Mengapa Bahagian Integer C# Membundarkan Ke Bawah, dan Bagaimana Saya Boleh Menghalangnya?

Linda Hamilton
Lepaskan: 2025-01-05 17:31:40
asal
675 orang telah melayarinya

Why Does C# Integer Division Round Down, and How Can I Prevent It?

Bahagian Automatik C# Membundarkan Ke Bawah: Memahami dan Mengelaknya

Apabila melakukan pembahagian dalam C#, seseorang mungkin menghadapi pembundaran ke bawah hasil yang tidak dijangka. Tingkah laku ini berpunca daripada sifat pembahagian integer, yang memotong hasilnya kepada nombor bulat terdekat.

Untuk menggambarkan ini, pertimbangkan contoh berikut:

double i;
i = 200 / 3;
Messagebox.Show(i.ToString());
Salin selepas log masuk

Kod ini memaparkan kotak mesej dengan nilai "66," menunjukkan bahawa 200 / 3 telah dibundarkan ke bawah kepada 66. Walau bagaimanapun, nilai sebenar 200 / 3 adalah lebih kurang 66.6666667.

Untuk mengelakkan pembundaran ke bawah ini, seseorang mesti menukar secara eksplisit operan kepada nombor titik terapung berketepatan dua sebelum melakukan pembahagian. Ini boleh dicapai dalam beberapa cara:

  1. Memutuskan pemalar:
i = (double)200 / 3;
Salin selepas log masuk
  1. Menggunakan literal perpuluhan:
i = 200.0 / 3;
Salin selepas log masuk
  1. Melampirkan akhiran 'd' kepada pemalar:
i = 200d / 3;
Salin selepas log masuk

Mana-mana pendekatan ini akan memastikan pembahagian berganda dilakukan, mengekalkan bahagian perpuluhan hasil. Oleh itu, adalah penting untuk memahami implikasi penggunaan pembahagian integer dan menggunakan teknik tuangan yang sesuai apabila pecahan terlibat.

Atas ialah kandungan terperinci Mengapa Bahagian Integer C# Membundarkan Ke Bawah, dan Bagaimana Saya Boleh Menghalangnya?. 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