使用系統。集合。泛型;
使用系統。Linq
使用系統。文本;
使用系統。線程。任務;
命名空間ConsoleApplication1
{
類別打印
{
常數int ZS = 0;
const int XS = 1;
公共靜態void Main(string[] args)
{?
Print Print = new Print();
字符串strWord
while(真)
{
string strNum =控制臺。ReadLine();
strWord = print。print word(strNum);
控制臺。WriteLine(strWord);
}
}
///& lt;總結& gt
///打印
///& lt;/summary & gt;
///& lt;param name = " num " & gt& lt/param & gt;
///& lt;returns & gt& lt/returns & gt;
私有字符串PrintWord(字符串編號)
{
弦正書;
弦樂蕭墅;
字符串正字;
字符串小詞;
開關(編號拆分('.').長度)
{
案例0:
返回“未知錯誤”;
案例1:
正叔= num。拆分('.')[0];
蕭墅= " ";
打破;
案例二:
正叔= num。拆分('.')[0];
蕭墅=數字。拆分('.')[1];
打破;
默認值:
返回“輸入的數字格式不正確”;
}
Zheng word = PrintZS(Zheng Shu);
xiaoWord = PrintXS(蕭墅);
return (zhengWord== " "?“零”:正字)+“圓”+小字+“整”;
}
///& lt;總結& gt
///打印整數部分
///& lt;/summary & gt;
///& lt;param name = " zs " & gt& lt/param & gt;
///& lt;returns & gt& lt/returns & gt;
私有字符串PrintZS(字符串ZS)
{
//最大說到幾千億。
如果(zs。長度& gt12)
返回“整數部分太長”;
列表& lt字符串& gtstr =新列表& lt字符串& gt();
StringBuilder strbZS = new StringBuilder();
如果(zs。長度& gt= 4)
{
做
{
海峽。補充(zs。子串(zs。長度- 4,4));
zs = zs。子串(0,zs。長度-4);
}而(zs。長度& gt4);
}
如果(zs。長度!=0)
{
海峽。add(zs);
}
int count all = 0;
for(int i= str。count-1;我& gt=0;我-)
{
int print count = 0;
for(int j = 0;j & ltstr[i]。長度;j++)
{ ?
if(str[i][j]!='0')
{
strbZS。append(print num(str[I][j]);
strbZS。Append(PrintChildUnit(str[i])。長度- j,ZS));
print count++;
}
其他
{
if (i== str。計數- 1)
{
如果(j!= 0)
{
int count = 0;
for(int k = 0;k & ltj;k++)
{
if (str[i][k] == '0 ')
{
count++;
}
}
如果(算!= j & amp& ampj!= str[i]。長度-1 & amp;& ampstr[i][j + 1]!= '0')
{
strbZS。append(print num(str[I][j]);
print count++;
}
}
}否則
{
if (countAll!= 0 & amp& ampj!= str[i]。長度-1 & amp;& ampstr[i][j + 1]!= '0')
{
strbZS。append(print num(str[I][j]);
print count++;
}
} ?
}
}
if (printCount!= 0)
{
strbZS。append(print unit(I+1));
count all++;
}
}
返回strbZS。ToString();
}
///& lt;總結& gt
///打印小數部分
///& lt;/summary & gt;
///& lt;param name = " xs " & gt& lt/param & gt;
///& lt;returns & gt& lt/returns & gt;
私有字符串PrintXS(字符串XS)
{
//最小表示為毫
如果(xs。長度& gt4)
返回“小數部分太長”;
StringBuilder str bxs = new StringBuilder();
for(int I = 0;我& ltxs。長度;i++)
{
strbXS。append(print num(xs[I]);
strbXS。append(print child unit(I+1,XS));
}
返回strbXS。ToString();
}
///& lt;總結& gt
///打印數字
///& lt;/summary & gt;
///& lt;param name = " charNum " & gt& lt/param & gt;
///& lt;returns & gt& lt/returns & gt;
私有字符串PrintNum(char charNum)
{
開關(字符)
{
大小寫“0”:返回“零”;?
Case '1 ':返回“壹”;
Case '2 ':返回“er”;
案例“3”:返回“三”;
案例“4”:返回“si”;
例5:返回“吳”;
情況' 6 ':返回“土地”;
例‘7’:返回“氣”;
Case '8 ':返回“八”;
Case '9 ':返回“九”;
默認值:返回“”;
}
}
///& lt;總結& gt
///打印子單元
///& lt;/summary & gt;
///& lt;param name = " count " & gt& lt/param & gt;
///& lt;param name = " category " & gt& lt/param & gt;
///& lt;returns & gt& lt/returns & gt;
私有字符串princhildunit(int count,int category)
{
//整數部分
如果(類別== ZS)
{
開關(計數)
{
案例1:返回“”;
案例二:返回“十”;
案例三:返回“百”;
案例四:返回“千”;
默認值:返回“”;
}
}
//小數部分
其他
{
開關(計數)
{
情況4:返回“milli”;
案例三:返回“李”;
案例二:返回“分鐘”;
案例1:返回“角度”;
默認值:返回“”;
}
}
}
///& lt;總結& gt
///打印單位
///& lt;/summary & gt;
///& lt;param name = " count " & gt& lt/param & gt;
///& lt;returns & gt& lt/returns & gt;
私有字符串打印單元(整數)
{
開關(計數)
{
案例1:返回“”;
案例二:返回“壹萬”;
案例三:返回“十億”;
案例四:返回“萬億”;
默認值:返回“”;
}
}
}
}