Dalam pelbagai senario pengaturcaraan, adalah permintaan yang sama untuk menukar nombor perpuluhan ke dalam kemajuan lain. Sokongan Rangka Kerja .NET untuk operasi ini adalah terhad, tetapi ia dapat merealisasikan kaedah tersuai yang menukarkan nombor ke dalam mana -mana dalam dengan watak apa pun.
kaedah convert.toString () hanya boleh menukar nombor ke berikut: 2, 8, 10, atau 16. Sekiranya anda perlu menggunakan kemajuan bukan standard, had ini mungkin terhad.
kesedaran tersuai dengan sewenang -wenangnya maju dan dipadankan
Untuk menukar nombor ke dalam sebarang kemajuan, anda boleh melaksanakan kaedah tersuai. Kaedah mudah adalah seperti berikut:
Kaedah ini diulang dengan nombor input yang dibahagikan dengan sasaran dan melampirkan baki baki ke rentetan hasil. Keputusan dibina dalam urutan yang bertentangan, dan angka di sebelah kanan pertama muncul.Pengoptimuman: Gunakan penampan array
<code class="language-csharp">public static string IntToString(int value, char[] baseChars) { string result = string.Empty; int targetBase = baseChars.Length; do { result = baseChars[value % targetBase] + result; value = value / targetBase; } while (value > 0); return result; }</code>
Untuk meningkatkan prestasi bilangan besar, disarankan untuk menggunakan penampan array dan bukannya sambungan rentetan:
Pengoptimuman ini sangat berkesan untuk jumlah besar dengan banyak digit dalam kemajuan sasaran. Untuk bilangan kecil (satu nombor digit dalam sasaran), intostrasi biasanya lebih cepat.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menukar nombor 10 nombor ke mana -mana asas dalam .net?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!