Rumah >pembangunan bahagian belakang >C++ >Mengapa Bahagian Integer C# Membundarkan Ke Bawah, dan Bagaimana Saya Boleh Mengelaknya?
Bahagian Membundarkan Ke Bawah dalam C#
Apabila melakukan pembahagian dalam C#, pengaturcara mungkin menghadapi gelagat pembundaran ke bawah yang tidak dijangka. Isu ini timbul apabila pembahagian integer dilakukan, mengakibatkan kehilangan bahagian pecahan.
Untuk menggambarkan, pertimbangkan kod berikut:
double i; i = 200 / 3; // Integer division MessageBox.Show(i.ToString());
Kod ini akan memaparkan kotak mesej dengan nilai "66". Walau bagaimanapun, keputusan yang dijangkakan untuk 200 / 3 hendaklah 66.66666...
Penyelesaian: Gunakan Pembahagian Berganda
Untuk mengelakkan pembundaran ini ke bawah dan mengekalkan ketepatan titik terapung, seseorang harus menggunakan pembahagian dua kali bukannya pembahagian integer. Ini boleh dicapai dengan:
i = (double)200 / 3;
i = 200.0 / 3;
i = 200d / 3;
Dengan menggunakan pembahagian dua kali, pengendali bahagian / akan melakukan pembahagian titik terapung, mengekalkan semua digit bererti.
Atas ialah kandungan terperinci Mengapa Bahagian Integer C# Membundarkan Ke Bawah, dan Bagaimana Saya Boleh Mengelaknya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!