Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memotong, Bukan Bulat, Nilai Berganda kepada Nombor Khusus Tempat Perpuluhan dalam C#?
Memotong Nilai Berganda Tanpa Pembundaran dalam C#
Apabila menukar nombor titik terapung berketepatan dua kepada rentetan dalam C#, anda boleh menghadapi keperluan untuk memformatkannya dengan bilangan tempat perpuluhan tertentu. Walau bagaimanapun, menggunakan String.Format("{0:0.00}") boleh membawa kepada pembundaran, yang tidak diingini untuk senario tertentu yang anda inginkan pemangkasan tepat.
Untuk menangani isu ini, gunakan gabungan Math.Truncate () dan NumberFormatInfo.CurrentInfo untuk mencapai pemangkasan tanpa membulatkan dan mengekalkan budaya-sensitif pemformatan.
Penyelesaian:
double myDoubleValue = 50.947563; double x = Math.Truncate(myDoubleValue * 100) / 100;
Operasi ini mendarabkan nilai dengan 100, memotongnya untuk membuang tempat perpuluhan, dan kemudian membahagikannya dengan 100 untuk memulihkan skala asal.
string s = x.ToString("N2", NumberFormatInfo.CurrentInfo);
Penentukan format ini menggunakan rentetan format "N", yang termasuk pemformatan mata wang dengan tanda peratusan mengekor. NumberFormatInfo.CurrentInfo memastikan bahawa pemformatan mengikut tetapan budaya semasa.
Keputusan:
Menggunakan kaedah di atas, anda akan memperoleh perwakilan rentetan bagi nilai berganda dengan tepat dua tempat perpuluhan tanpa sebarang pembundaran. Sebagai contoh, nilai 50.947563 akan dipotong kepada 50.94 tanpa membundarkan kepada 50.95.
Atas ialah kandungan terperinci Bagaimana untuk Memotong, Bukan Bulat, Nilai Berganda kepada Nombor Khusus Tempat Perpuluhan dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!