Pemformatan Harga Tepat dengan Pemformatan Rentetan
Pengaturcara selalunya perlu memaparkan data berangka, terutamanya harga, dengan pemformatan khusus, seperti bilangan tempat perpuluhan terkawal. Pemformatan rentetan menawarkan penyelesaian yang fleksibel menggunakan ruang letak.
Pertimbangkan keperluan paparan harga biasa ini:
Pendekatan pemformatan rentetan yang mudah mungkin tidak mengendalikan kedua-dua kes dengan sempurna. Walau bagaimanapun, kita boleh mencapai ketepatan ini melalui pemilihan pemegang tempat yang teliti dan logik bersyarat.
Untuk nombor bulat, rentetan format "{0:0.##}" berfungsi dengan berkesan. "0" mewakili digit integer yang diperlukan, manakala "#" mewakili digit perpuluhan pilihan. Ini memastikan bahawa nilai tanpa perpuluhan dipaparkan sebagai integer.
Untuk nombor dengan tempat perpuluhan, pemformatan bersyarat menyediakan penyelesaian dinamik. Dalam C#, kita boleh menggunakan operator ternary untuk memilih rentetan format yang sesuai berdasarkan sama ada nombor itu mempunyai bahagian pecahan. Jika ia berlaku, "{0:0.00}" (dua tempat perpuluhan) digunakan; jika tidak, "{0:0}" (format integer) digunakan.
Sebagai alternatif, kaedah ringkas secara langsung memeriksa kehadiran bahagian pecahan:
<code class="language-csharp">double price = 123.46; string priceString = price % 1 == 0 ? price.ToString("0") : price.ToString("0.00");</code>
Kod ini menggunakan operator modulo (%
) untuk menyemak sama ada harga adalah nombor bulat. Jika baki selepas membahagi dengan 1 ialah 0, ia adalah integer dan diformatkan sebagai "0"; jika tidak, ia diformatkan dengan dua tempat perpuluhan menggunakan "0.00". Ini menyediakan cara yang bersih dan cekap untuk mengendalikan kedua-dua senario.
Atas ialah kandungan terperinci Bagaimanakah Pemformatan Rentetan Boleh Mengawal Ketepatan Perpuluhan dalam Paparan Harga?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!