數(shù)字轉(zhuǎn)換為大寫金額.doc

數(shù)字轉(zhuǎn)換為大寫金額.doc

ID:62073183

大?。?9.00 KB

頁數(shù):12頁

時間:2021-04-16

數(shù)字轉(zhuǎn)換為大寫金額.doc_第1頁
數(shù)字轉(zhuǎn)換為大寫金額.doc_第2頁
數(shù)字轉(zhuǎn)換為大寫金額.doc_第3頁
數(shù)字轉(zhuǎn)換為大寫金額.doc_第4頁
數(shù)字轉(zhuǎn)換為大寫金額.doc_第5頁
資源描述:

《數(shù)字轉(zhuǎn)換為大寫金額.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、個人收集整理勿做商業(yè)用途//數(shù)字轉(zhuǎn)換成大寫金額//例如:(newMoney(200))。ToString()==”貳佰元”namespaceSkyiv。Util{usingSystem。Text;classTest{staticvoidMain(){for(;;){System。Console。Write(”金額:");strings=System。Console。ReadLine();decimalm;try{m=decimal.Parse(s);}catch{break;}System。Console。WriteLine(”大寫:”+newMoney(m

2、));}}}//該類重載的ToString()方法返回的是大寫金額字符串classMoney{publicstringYuan=”元”;//“元”,可以改為“圓”、“盧布”之類publicstringJiao=”角”;//“角”,可以改為“拾"publicstringFen="分";//“分”,可以改為“美分”之類staticstringDigit=”零壹貳叁肆伍陸柒捌玖";//大寫數(shù)字boolisAllZero=true;//片段內(nèi)是否全零boolisPreZero=true;//低一位數(shù)字是否是零boolOverflow=false;//溢出標(biāo)志long

3、money100;//金額*100,即以“分”為單位的金額longvalue;//money100的絕對值StringBuildersb=newStringBuilder();//大寫金額字符串,逆序//只讀屬性:”零元”publicstringZeroString{get{returnDigit[0]+Yuan;}}//構(gòu)造函數(shù)publicMoney(decimalmoney){try{money100=(long)(money*100m);}catch{Overflow=true;}if(money100==long。MinValue)Overflow=

4、個人收集整理勿做商業(yè)用途true;}//重載ToString()方法,返回大寫金額字符串publicoverridestringToString(){if(Overflow)return”金額超出范圍";if(money100==0)returnZeroString;string[]Unit={Yuan,"萬",”億”,”萬",”億億"};value=System。Math.Abs(money100);ParseSection(true);for(inti=0;i

5、ero)sb.Append(Digit[0]);if(i==4&&sb.ToString()。EndsWith(Unit[2]))sb.Remove(sb。Length—Unit[2]。Length,Unit[2]。Length);sb.Append(Unit[i]);ParseSection(false);if((i%2)==1&&isAllZero)sb。Remove(sb。Length—Unit[i].Length,Unit[i].Length);}if(money100〈0)sb。Append("負”);returnReverse();}//解析“片

6、段":“角分(2位)"或“萬以內(nèi)的一段(4位)"voidParseSection(boolisJiaoFen){string[]Unit=isJiaoFen?newstring[]{Fen,Jiao}:newstring[]{"",”拾","佰”,”仟”};isAllZero=true;for(inti=0;i〈Unit。Length&&value〉0;i++){intd=(int)(value%10);if(d!=0){if(isPreZero&&!isAllZero)sb。Append(Digit[0]);sb.AppendFormat("{0}{1}"

7、,Unit[i],Digit[d]);isAllZero=false;}isPreZero=(d==0);value/=10;}}//反轉(zhuǎn)字符串string個人收集整理勿做商業(yè)用途Reverse(){StringBuildersbReversed=newStringBuilder();for(inti=sb。Length—1;i〉=0;i——)sbReversed.Append(sb[i]);returnsbReversed.ToString();}}}以下c#代碼實現(xiàn)了將阿拉伯?dāng)?shù)字轉(zhuǎn)換成中文大寫金額的功能,并visualstudio.net2003下調(diào)試基

8、本通過(未經(jīng)嚴(yán)格測試,希望各位發(fā)現(xiàn)錯誤后與作者聯(lián)系f

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。