我在爲三位數字做這件事情時遇到了一些麻煩。我可以爲兩位數字做這件事,但是當我向字符串TwoDigit添加if語句時,它告訴我檢測到無法訪問的代碼。這是我曾嘗試: -將三位數字轉換爲文本
{
class Program
{
static string[] digitWords =
{ "zero", "one", "two", "three", "four",
"five", "six", "seven", "eight", "nine",
"ten", "eleven", "twelve", "thirteen", "fourteen",
"fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
static string[] tenWords =
{ "", "", "twenty", "thirty", "forty",
"fifty", "sixty", "seventy", "eighty", "ninety" };
static string[] hundredWords = { "One-hundred", "two-hundred",
"three-hundred", "four-hundred", "five-hundred", "six-hundred",
"seven-hundred", "eight-hundred", "nine-hundred"}
static string TwoDigit(int num)
{
if (num < 0 || num > 99) return "";
if (num < 20) return digitWords[num];
if (num % 10 == 0)
return tenWords[num/10];
else
return tenWords[num/10] + "-" + digitWords[num % 10];
if (num % 100 == 0)
return digitWords[num/100] + "-" + hundredWords[num % 100];
else
return digitWords[num/100] + "-" + hundredWords[num % 100] + "-" + digitWords[num % 100];
}
static void Main(string[] args)
{
for (int i = 0; i <= 19; i++)
Console.WriteLine("{0}: {1}", i, TwoDigit(i));
for (int i = 20; i <= 99; i +=7)
Console.WriteLine("{0}: {1}", i, TwoDigit(i));
for (int i = 100; i <= 1100; i += 7)
Console.WriteLine("{0}: {1}", i, TwoDigit(i));
}
}
}
請不要將創造同樣的問題提問:[首頁](http://stackoverflow.com/questions/13352149/two-數字)[Second](http://stackoverflow.com/questions/13389624/numbers-2-to-words-two) – TheEvilPenguin