Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah C# Mengendalikan Keputusan Pecahan dalam Pembahagian, dan Bagaimanakah Saya Boleh Mengelak Pembundaran Integer?

Bagaimanakah C# Mengendalikan Keputusan Pecahan dalam Pembahagian, dan Bagaimanakah Saya Boleh Mengelak Pembundaran Integer?

Susan Sarandon
Susan Sarandonasal
2025-01-05 19:56:46660semak imbas

How Does C# Handle Fractional Results in Division, and How Can I Avoid Integer Rounding?

Memahami Pembundaran dalam Bahagian C#

Apabila melakukan pembahagian dalam C#, keputusan pecahan selalunya dibundarkan ke bawah kepada integer terdekat. Ini boleh berlaku di luar jangkaan, terutamanya apabila menggunakan nombor titik terapung.

Contohnya

Pertimbangkan coretan kod berikut:

double i;
i = 200 / 3;
Messagebox.Show(i.ToString());

Di sini , i diberikan nilai 200 dibahagikan dengan 3, iaitu 66.6666667. Walau bagaimanapun, apabila dipaparkan menggunakan Messagebox.Show, ia memaparkan "66." Ini kerana C# melakukan pembahagian integer secara lalai, membundarkan ke bawah kepada nombor bulat terdekat.

Mengelakkan Pembundaran Ke Bawah

Untuk mengekalkan ketepatan pecahan, anda boleh menggunakan salah satu pendekatan berikut:

  • Pelakon Eksplisit untuk Berganda: Hantarkan salah satu daripada operan kepada dua kali ganda untuk memaksa pembahagian ketepatan dua kali. Contohnya:
i = (double)200 / 3;
  • Gunakan Pemalar Titik Terapung: Isytiharkan salah satu operan sebagai pemalar titik terapung menggunakan akhiran .0 atau d. Ini juga membolehkan pembahagian ketepatan dua kali. Contohnya:
i = 200.0 / 3;
  • Gunakan Akhiran 'd': Tambahkan akhiran d pada pemalar integer untuk menunjukkan pembahagian ketepatan dua kali. Contohnya:
i = 200d / 3;

Dengan menggunakan kaedah ini, anda boleh memastikan pengiraan pembahagian mengembalikan hasil pecahan tanpa membundarkan ke bawah.

Atas ialah kandungan terperinci Bagaimanakah C# Mengendalikan Keputusan Pecahan dalam Pembahagian, dan Bagaimanakah Saya Boleh Mengelak Pembundaran Integer?. 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