Paparkan perpuluhan dengan tepat menggunakan pemformatan rentetan
Dalam pengaturcaraan, selalunya perlu untuk memaparkan nilai dalam format tertentu. Pemformatan rentetan menyediakan cara untuk mengawal cara nombor dipaparkan, termasuk bilangan tempat perpuluhan yang dipaparkan.
Sebagai contoh, pertimbangkan medan harga yang memaparkan integer atau sehingga dua tempat perpuluhan. Untuk melakukan ini, kita perlu melaraskan rentetan format berdasarkan sama ada harga mengandungi perpuluhan.
Contoh berikut menggambarkan tingkah laku pemformatan lalai:
<code>// 显示两位小数 String.Format("{0:0.00}", 123.4567); // "123.46" String.Format("{0:0.00}", 123.4); // "123.40" String.Format("{0:0.00}", 123.0); // "123.00"</code>
Walau bagaimanapun, untuk memaparkan integer tanpa perpuluhan, kita perlu menentukan bilangan digit wajib dan pilihan. Sebagai contoh, rentetan format berikut akan memaparkan harga sehingga dua tempat perpuluhan atau sebagai integer jika harga tidak mempunyai tempat perpuluhan:
<code>String.Format("{0:0.##}", 123.4567); // "123.46" String.Format("{0:0.##}", 123.4); // "123.4" String.Format("{0:0.##}", 123.0); // "123"</code>
Dalam rentetan format di atas, "0" mewakili nombor wajib dan "#" mewakili nombor pilihan. Oleh itu, rentetan "0.##" memastikan bahawa harga mempunyai sekurang-kurangnya satu digit sebelum titik perpuluhan dan paling banyak dua digit selepas titik perpuluhan.
Untuk memudahkan penyelesaian, kami boleh menggunakan operator ternary untuk menyemak sama ada harga adalah integer dan memformatkannya dengan sewajarnya:
<code>var number = 123.46; number.ToString(number % 1 == 0 ? "0" : "0.00");</code>
Kaedah ini menyemak sama ada baki harga dibahagikan dengan 1 ialah sifar, bermakna integer. Jika ya, formatkan nombor sebagai integer ("0"), jika tidak, formatkannya dengan dua tempat perpuluhan ("0.00").
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memaparkan Perpuluhan Dengan Tepat dalam Pemformatan Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!