数字转换为大写金额.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字转换为大写金额,金额大写数字转换器,大写数字金额转换,数字转换成大写金额,把金额数值转换为大写,数字转换为大写,数字转换为人民币大写,excel数字转换为大写,大写数字转换器,数字大写转换

// 数字转换成大写金额 // 例如:(new Money(200)).ToString() == 贰佰元 namespace Skyiv.Util { using System.Text; class Test { static void Main() { for (;;) { System.Console.Write(金额: ); string s = System.Console.ReadLine(); decimal m; try { m = decimal.Parse(s); } catch { break; } System.Console.WriteLine(大写: + new Money(m)); } } } // 该类重载的 ToString() 方法返回的是大写金额字符串 class Money { public string Yuan = 元; // “元”,可以改为“圆”、“卢布”之类 public string Jiao = 角; // “角”,可以改为“拾” public string Fen = 分; // “分”,可以改为“美分”之类 static string Digit = 零壹贰叁肆伍陆柒捌玖; // 大写数字 bool isAllZero = true; // 片段内是否全零 bool isPreZero = true; // 低一位数字是否是零 bool Overflow = false; // 溢出标志 long money100; // 金额*100,即以“分”为单位的金额 long value; // money100的绝对值 StringBuilder sb = new StringBuilder(); // 大写金额字符串,逆序 // 只读属性: 零元 public string ZeroString { get { return Digit[0] + Yuan; } } // 构造函数 public Money(decimal money) { try { money100 = (long)(money * 100m); } catch { Overflow = true; } if (money100 == long.MinValue) Overflow = true; } // 重载 ToString() 方法,返回大写金额字符串 public override string ToString() { if (Overflow) return 金额超出范围; if (money100 == 0) return ZeroString; string [] Unit = { Yuan, 万, 亿, 万, 亿亿 }; value = System.Math.Abs(money100); ParseSection(true); for (int i = 0; i Unit.Length value 0; i++) { if (isPreZero !isAllZero) 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(负); return Reverse(); } // 解析“片段”: “角分(2位)”或“万以内的一段(4位)” void ParseSection(bool isJiaoFen) { string [] Unit = isJiaoFen ? new string [] { Fen, Jiao } : new string [] { , 拾, 佰, 仟 }; isAllZero = true; for (int i = 0; i Unit.Length value 0; i++) { int d = (int)(value % 10); if (d != 0) { if (isPreZero !isAllZero) sb.Append(Digit[0]); sb.AppendFormat({0}{1}, Unit[i], Digit[d]); isAllZero = false; } isPreZero = (d == 0); value /= 10; }

文档评论(0)

mydoc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档