Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Tentukan Bilangan Tempat Perpuluhan dalam Nilai Perpuluhan?
Kaedah pengiraan nombor perpuluhan yang tidak dipengaruhi oleh tetapan budaya
Soalan:
Bagaimana untuk menentukan bilangan tempat perpuluhan dengan tepat untuk nilai perpuluhan tanpa dipengaruhi oleh tetapan setempat?
Jawapan:
Seperti yang dinyatakan dalam soalan, bergantung pada pemisahan rentetan untuk mengekstrak bilangan tempat perpuluhan adalah terdedah kepada pemisah perpuluhan tempat yang berbeza. Pendekatan yang lebih dipercayai ialah menggunakan kaedah decimal.GetBits
dalam kombinasi dengan operasi bit:
<code class="language-csharp">decimal argument = 123.456m; int count = BitConverter.GetBytes(decimal.GetBits(argument)[3])[2];</code>
Penjelasan kod:
decimal.GetBits
: Kaedah ini menukar nilai perpuluhan kepada tatasusunan empat integer 32-bit. Integer ketiga dalam tatasusunan ini memegang maklumat skala. BitConverter.GetBytes
: Tukar integer berkadar kepada tatasusunan bait. [2]
: Mengakses bait ketiga dalam tatasusunan, yang menunjukkan skala. count
: Simpan bilangan tempat perpuluhan sebagai integer. Oleh itu, kaedah ini menyediakan pengiraan tempat perpuluhan yang tepat untuk sebarang nilai perpuluhan, tanpa mengira perbezaan budaya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Tentukan Bilangan Tempat Perpuluhan dalam Nilai Perpuluhan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!