Rumah >pembangunan bahagian belakang >C++ >Mengapa bahagian C# saya menghasilkan sifar?

Mengapa bahagian C# saya menghasilkan sifar?

DDD
DDDasal
2025-01-29 11:41:09756semak imbas

Why is My C# Division Resulting in Zero?

Sebab -sebab umum dan penyelesaian hasil sifar hasil kaedah penyingkiran

Apabila pembahagian operasi mudah di C#, anda mungkin menghadapi hasil yang mengelirukan: sifar. Mari kita menganalisis sebab mengapa ungkapan

.

decimal share = (18 / 58) * 100; Pada pandangan pertama, pengiraan ini kelihatan sangat mudah, tetapi jika anda melihat dengan teliti, anda akan menemui masalah jenis digital utama. Dalam C#, nombor itu dianggap sebagai integer (tidak ada bahagian perpuluhan) secara lalai, yang bermaksud bahawa hasil operasi dividen selalu menjadi integer. Dalam contoh ini, hasil 18 adalah 0 dengan hasil 58, walaupun ia didarab dengan 100, hasilnya masih sifar.

Untuk menyelesaikan masalah ini, kita perlu memberitahu pengkompil dengan jelas untuk merawat nombor ini sebagai nombor perpuluhan (perpuluhan yang dibenarkan). Ini boleh dicapai dengan menambahkan akhiran "m" selepas setiap nombor.

Dengan mengisytiharkan nombor sebagai nombor perpuluhan, kecuali untuk operasi, ia akan mengembalikan nilai perpuluhan untuk mendapatkan hasil yang tidak dijangkakan. Memahami jenis nombor yang digunakan dalam kod adalah penting untuk mengelakkan kemalangan tersebut dan memastikan ketepatan pengiraan.

Atas ialah kandungan terperinci Mengapa bahagian C# saya menghasilkan sifar?. 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