Rumah >pembangunan bahagian belakang >C++ >Bagaimana dengan cekap menukar nombor ke pangkalan sewenang -wenang dalam .NET?
Convert.ToString
kaedah penukaran tersuai
Kaedah ini menggunakan nilai yang akan ditukar dan array watak, yang mewakili aksara dalam salur masuk sasaran. Ia mengulangi nilai pengiraan kecuali bilangan sasaran sasaran dan menambah watak yang sepadan dengan rentetan hasil.
<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>
Gunakan contoh
Untuk menggunakan kaedah ini, anda boleh lulus nilai nilai nilai dan sasaran, contohnya:Langkah berjaga -jaga prestasi
<code class="language-csharp">// 转换为二进制 string binary = IntToString(5, new char[] { '0', '1' }); // 转换为十六进制 string hex = IntToString(42, new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}); // 转换为六十进制 string sexagesimal = IntToString(42, new char[] { '0','1','2','3','4','5','6','7','8','9', 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z', 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x'});</code>Kaedah di atas disambungkan untuk membina rentetan hasil dengan rentetan. Untuk jumlah yang besar, ini mungkin perlahan. Versi yang lebih baik akan menggunakan penampan array untuk mengumpul aksara.
Atas ialah kandungan terperinci Bagaimana dengan cekap menukar nombor ke pangkalan sewenang -wenang dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!