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
Linda Hamiltonasal
2025-01-05 17:31:40641semak imbas

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());

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;
  1. Menggunakan literal perpuluhan:
i = 200.0 / 3;
  1. Melampirkan akhiran 'd' kepada pemalar:
i = 200d / 3;

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!

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