Rumah >pembangunan bahagian belakang >C++ >Bagaimana saya boleh menukar nombor ke perkataan dalam c#?
Penukaran teks pemindahan digital dalam C#
Menukar nilai ke dalam bentuk teks yang sepadan adalah tugas yang sama dalam pengaturcaraan. Penukaran ini amat berguna dalam pelbagai senario, seperti menjana invois, penyiaran suara automatik atau arahan suara pemprosesan.
Satu kaedah adalah untuk menggabungkan penggunaan pengacuan, pernyataan bersyarat, dan array atau kamus yang telah ditetapkan untuk memetakan nombor dan kumpulan digital ke bentuk perwakilan teks yang sepadan. Berikut adalah contoh yang dilaksanakan dengan C#:
Untuk menggunakan kaedah ini, hanya menyediakan integer sebagai parameter, ia akan mengembalikan borang teks yang sepadan dengan nombor. Sebagai contoh,
<code class="language-csharp">public static string NumberToWords(int number) { // 处理零和负数的特殊情况 if (number == 0) return "zero"; else if (number < 0) return "minus " + NumberToWords(-number); string words = ""; // 处理百万 if (number >= 1000000) { words += NumberToWords(number / 1000000) + " million "; number %= 1000000; } // 处理千位 if (number >= 1000) { words += NumberToWords(number / 1000) + " thousand "; number %= 1000; } // 处理百位 if (number >= 100) { words += NumberToWords(number / 100) + " hundred "; number %= 100; } // 处理剩余数字 if (number > 0) { if (words != "") words += "and "; string[] units = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" }; string[] tens = { "zero", "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety" }; if (number < 20) words += units[number]; else { words += tens[number / 10]; if (number % 10 > 0) words += "-" + units[number % 10]; } } return words.Trim(); }</code>akan kembali "seratus dua puluh tiga",
akan kembali "dikurangkan lima ratus empat puluh tiga". Kod ini telah diperbaiki, penggunaan penyambung "dan" dan pemprosesan yang lebih jelas nombor negatif dan sifar. NumberToWords(123)
Kaedah ini digunakan untuk mengeluarkan ruang yang berlebihan. NumberToWords(-543)
Atas ialah kandungan terperinci Bagaimana saya boleh menukar nombor ke perkataan dalam c#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!