.NET把小写数字金额转换成大写人民币金额的两种算法
第一種方法:
用正則表達(dá)式,C#方法如下
usingSystem.Text.RegularExpressions;//首先引入命名空間
private?string?DaXie?(?string? money?)?
{?
string? s ?=?double?.?Parse?(?money?).?ToString?(?"#L#E#D#C#K#E#D#C#J#E#D#C#I#E#D#C#H#E#D#C#G#E#D#C#F#E#D#C#.0B0A"?);?
string? d ?=?Regex?.?Replace?(?s?,?@?"((?<=-|^)[^1-9]*)|((?'z'0)[0A-E]*((?=[1-9])|(?'-z'(?=[F-L\.]|$))))|((?'b'[F-L])(?'z'0)[0A-L]*((?=[1-9])|(?'-z'(?=[\.]|$))))"?,?"${b}${z}"?);?
return?Regex?.?Replace?(?d?,?"."?,?delegate?(?Match? m?)?{?return?"負(fù)圓空零壹貳叁肆伍陸柒捌玖空空空空空空空分角拾佰仟萬億兆京垓秭穰"?[?m?.?Value?[?0?]?-?'-'?].?ToString?();?});?
}
第二種方法:
采用數(shù)組,C#方法如下
private?string?DaXie?(?string? money?)?
{?
//將小寫金額轉(zhuǎn)換成大寫金額?
double?MyNumber?=?Convert?.?ToDouble?(?money?);?
String?[]?MyScale?=?{?"分"?,?"角"?,?"元"?,?"拾"?,?"佰"?,?"仟"?,?"萬"?,?"拾"?,?"佰"?,?"仟"?,?"億"?,?"拾"?,?"佰"?,?"仟"?,?"兆"?,?"拾"?,?"佰"?,?"仟"?};?
String?[]?MyBase?=?{?"零"?,?"壹"?,?"貳"?,?"叁"?,?"肆"?,?"伍"?,?"陸"?,?"柒"?,?"捌"?,?"玖"?};?
String? M ?=?""?;?
bool? isPoint ?=?false?;?
if?(?money?.?IndexOf?(?"."?)?!=?-?1?)?
{?
money?=? money?.?Remove?(?money?.?IndexOf?(?"."?),?1?);?
isPoint?=?true?;?
}?
for?(?int? i ?=? money?.?Length?;? i ?>?0?;? i?--)?
{?
int?MyData?=?Convert?.?ToInt16?(?money?[?money?.?Length?-? i?].?ToString?());?//??
M?+=?MyBase?[?MyData?];?//??
if?(?isPoint?==?true?)?
{?
M?+=?MyScale?[?i?-?1?];?//??
}?
else?
{?
M?+=?MyScale?[?i?+?1?];?//??
}?
}?
return? M?;?
}
總結(jié)
以上是生活随笔為你收集整理的.NET把小写数字金额转换成大写人民币金额的两种算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DIY便携式肖像绘图机
- 下一篇: java计算机毕业设计校园招聘管理系统源