我正在學習一個關于在C#中把一個整數轉換成一個口語等價物的教程。
我對三位數的規則有點困惑。
我對三位數的規則有點困惑。
// Single-digit and small number names。
private static string[] smallNumbers = new string[] 。
{
"0"/span>, "1"/span>, "2"/span>, "3"/span>, "4"/span>。"五"/span>, "六"/span>, "七"/span>, "八"/span>。
"九", "十", "十一", "十二"。"十三"/span>, "十四"/span>, "十五"/span>。
"十六"/span>, "十七"/span>, "十八"/span>, "十九"/span>.
};
//Tens數字名稱從20開始。
private static string[] tens =new string[]
{
"", "", "二十", "三十"。"四十"/span>, "五十"/span>, "六十"/span>, "七十"/span>。
"八十", "九十"。
};
//在重組程序中使用的標號名稱。
private static string[] scaleNumbers =new string[]
{
"", "千", "百萬", "億", "萬億"。
"四億", "五億".
};
public static string ToWords(this BigInteger number)
{
if (number == 0)
{
return "zero"。
}
int[] digitGroups = new int[group];
//確保從一個正數提取。
var positive = BigInteger.Abs(number);
//提取三位陣列
for (int i = 0; i < groups; i )
{
digitGroups[i] = (int)(positive % 1000) 。
positive /= 1000;
}
//其余的代碼。
我假設現在我們正在轉換一個數字,其值是25111。
在for-loop函式中,(int)(positive % 1000)的回傳值應該是111。 111并不匹配digitalGroups陣列中的任何元素。
我不太明白,誰能給我解釋一下?謝謝。
uj5u.com熱心網友回復:
你向我們展示的代碼不是匹配,而是將值111分配給digitGroupsArray的第一個專案。
digitGroupsArray有多少個專案?我不知道,這取決于'groups'變數的值,我們在代碼摘錄中看不到。
在這里:
int[] digitGroups = new int< groups>;
你正在創建一個新的空整數陣列,名為digitGroups,其長度為(int)'group'值。
同時這,
for (int i =0; i < groups; i )
{
digitGroups[i] = (int)(positive % 1000) 。
positive /= 1000;
}
是一個圓柱體,一個迭代。請注意,每次 "positive "變數都會被1000除以(如positive = positive / 1000)。
結果將是這樣的:
digitGroups[0] = (int)(25111 % 1000) // digitGroupsarray的第一項。
'positive' 獲得除以(25111 / 1000)下次將為 25
digitGroups[1] = (int)(25 % 1000) // digitGroupsarray的第二個專案。
'positive' 獲得除數再次 (25 / 1000) 下次將為0
以此類推...
在這些情況下,記錄數值和除錯周期是非常常見和有用的。它真的能讓你頭腦清醒。
作業實體:
static void Main(string[] args)?
{
int groups = 3;
int[] digitGroups = new int[group];
int positive = 25111;
for (int x = 0; x < group; x )
{
Console.WriteLine("正值是:" 正值)。
digitGroups[x] = (int)(positive % 1000) 。
positive /= 1000;
Console.WriteLine("專案編號(索引)。"/span> x " value: " digitGroups[x])。
}
}
輸出:
正數 值 是。25111.
item number (index): 0 value: 111
正數 值 是: 25
專案 編號 (索引): 1 值: 25
正數 值 是: 0
專案 編號 (索引): 2 值: 0
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/317247.html
標籤:
