Soalan:
Bagaimana untuk menukar nombor titik terapung berketepatan dua kepada perwakilan rentetan titik terapung dalam Rangka Kerja .NET tanpa menggunakan tatatanda saintifik? Ini benar walaupun untuk nombor yang sangat besar atau kecil yang berada di luar format nombor standard.
Penyelesaian:
Kaedah yang boleh dipercayai dan cekap ialah menggunakan rentetan format berikut, yang mengekalkan semua digit bererti walaupun untuk nilai berganda yang sangat besar atau kecil:
<code class="language-csharp">doubleValue.ToString("0." + new string('#', 339))</code>
Arahan:
Rentetan format ini mengandungi:
0.
: Tentukan pemisah perpuluhan. #
: Pemegang tempat untuk digit yang sah. 339
: Bilangan ruang letak selepas titik perpuluhan. Untuk memahami sebab format ini berfungsi, adalah penting untuk mempertimbangkan julat dan ketepatan nombor titik terapung. Bilangan maksimum digit bukan sifar perpuluhan dalam nombor titik terapung berketepatan dua ialah 15, dan eksponen boleh menganjak nombor ini sehingga 324 bit ke kanan. Dengan menyediakan sejumlah besar nombor pemegang tempat (339) kami memastikan semua digit bererti ditunjukkan tanpa pembundaran atau notasi saintifik.
Kelebihan:
Petua:
Untuk kemudahan, rentetan format tetap boleh dibuat untuk memudahkan penggunaan:
<code class="language-csharp">public static class FormatStrings { public const string DoubleFixedPoint = "0.###################################################################################################################################################################################################################################################################################################################################################"; }</code>
Atas ialah kandungan terperinci Bagaimana untuk Menukar Double kepada Rentetan Titik Terapung Tanpa Notasi Saintifik dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!