阿拉伯数字金额转为大写金额(c#)
来源:互联网 发布:unity代码优化 编辑:程序博客网 时间:2024/06/11 07:19
先记下来,以备后用!
/// <summary> /// 金额转为大写金额 /// </summary> public class MoneyConvertChinese { /// <summary> /// 金额转为大写金额 /// </summary> /// <param name="LowerMoney"></param> /// <returns></returns> public string MoneyToChinese(string LowerMoney) { string functionReturnValue = null; bool IsNegative = false; // 是否是负数 if (LowerMoney.Trim().Substring(0, 1) == "-") { // 是负数则先转为正数 LowerMoney = LowerMoney.Trim().Remove(0, 1); IsNegative = true; } string strLower = null; string strUpart = null; string strUpper = null; int iTemp = 0; // 保留两位小数 123.489→123.49 123.4→123.4 LowerMoney = Math.Round(double.Parse(LowerMoney), 2).ToString(); if (LowerMoney.IndexOf(".") > 0) { if (LowerMoney.IndexOf(".") == LowerMoney.Length - 2) { LowerMoney = LowerMoney + "0"; } } else { LowerMoney = LowerMoney + ".00"; } strLower = LowerMoney; iTemp = 1; strUpper = ""; while (iTemp <= strLower.Length) { switch (strLower.Substring(strLower.Length - iTemp, 1)) { case ".": strUpart = "圆"; break; case "0": strUpart = "零"; break; case "1": strUpart = "壹"; break; case "2": strUpart = "贰"; break; case "3": strUpart = "叁"; break; case "4": strUpart = "肆"; break; case "5": strUpart = "伍"; break; case "6": strUpart = "陆"; break; case "7": strUpart = "柒"; break; case "8": strUpart = "捌"; break; case "9": strUpart = "玖"; break; } switch (iTemp) { case 1: strUpart = strUpart + "分"; break; case 2: strUpart = strUpart + "角"; break; case 3: strUpart = strUpart + ""; break; case 4: strUpart = strUpart + ""; break; case 5: strUpart = strUpart + "拾"; break; case 6: strUpart = strUpart + "佰"; break; case 7: strUpart = strUpart + "仟"; break; case 8: strUpart = strUpart + "万"; break; case 9: strUpart = strUpart + "拾"; break; case 10: strUpart = strUpart + "佰"; break; case 11: strUpart = strUpart + "仟"; break; case 12: strUpart = strUpart + "亿"; break; case 13: strUpart = strUpart + "拾"; break; case 14: strUpart = strUpart + "佰"; break; case 15: strUpart = strUpart + "仟"; break; case 16: strUpart = strUpart + "万"; break; default: strUpart = strUpart + ""; break; } strUpper = strUpart + strUpper; iTemp = iTemp + 1; } strUpper = strUpper.Replace("零拾", "零"); strUpper = strUpper.Replace("零佰", "零"); strUpper = strUpper.Replace("零仟", "零"); strUpper = strUpper.Replace("零零零", "零"); strUpper = strUpper.Replace("零零", "零"); strUpper = strUpper.Replace("零角零分", "整"); strUpper = strUpper.Replace("零分", "整"); strUpper = strUpper.Replace("零角", "零"); strUpper = strUpper.Replace("零亿零万零圆", "亿圆"); strUpper = strUpper.Replace("亿零万零圆", "亿圆"); strUpper = strUpper.Replace("零亿零万", "亿"); strUpper = strUpper.Replace("零万零圆", "万圆"); strUpper = strUpper.Replace("零亿", "亿"); strUpper = strUpper.Replace("零万", "万"); strUpper = strUpper.Replace("零圆", "圆"); strUpper = strUpper.Replace("零零", "零"); // 对壹圆以下的金额的处理 if (strUpper.Substring(0, 1) == "圆") { strUpper = strUpper.Substring(1, strUpper.Length - 1); } if (strUpper.Substring(0, 1) == "零") { strUpper = strUpper.Substring(1, strUpper.Length - 1); } if (strUpper.Substring(0, 1) == "角") { strUpper = strUpper.Substring(1, strUpper.Length - 1); } if (strUpper.Substring(0, 1) == "分") { strUpper = strUpper.Substring(1, strUpper.Length - 1); } if (strUpper.Substring(0, 1) == "整") { strUpper = "零圆整"; } functionReturnValue = strUpper; if (IsNegative == true) { return "负" + functionReturnValue; } else { return functionReturnValue; } } }
測試代碼:
static void Main(string[] args) { Console.Write("请输入要转成大写的数字:"); string str = Console.ReadLine(); Console.WriteLine("大写:" + new MoneyConvertChinese().MoneyToChinese(str)); Console.ReadLine(); }
測試結果:
0 0
- 阿拉伯数字金额转为大写金额(c#)
- 货币金额阿拉伯数字转为中文大写
- 货币金额阿拉伯数字转为中文大写
- 数字金额转为大写金额(C#)
- 数字金额转为大写金额(C#)
- 数字金额转为大写金额(C#)
- 数字金额转为大写金额
- 数字金额转为大写金额
- 小写金额转为大写
- 金额转为汉字大写
- php阿拉伯数字金额转中文大写金额
- 大写金额转换成阿拉伯数字金额
- 阿拉伯数字转换为大写金额
- 阿拉伯数字金额转汉字大写
- C 中将阿拉伯数字金额装换为中文大写汉字
- 金额转为大写中文方法
- js小写金额转为大写
- 阿拉伯数字小写金额转换成中文大写金额C程序说明
- 黑马程序员——包装类,String,StringBuffer
- 应用行业球形硅微粉和技术
- ym——Android从零开始(7)(SQLite数据库)(新)
- 已经社会化媒体分析移动从订婚到测量
- TCPDUMP的一些常见用法
- 阿拉伯数字金额转为大写金额(c#)
- 展望环保与绿色印刷
- 隐式意图调用系统自带组件的各种Uri总结
- AngularJs压缩时需要注意的事项
- iOS 在UILabel显示不同的字体和颜色
- Tcpdump的详细用法
- 101平衡模式 DIR的理解
- 新站怎么操作才能获得搜索引擎的青睐
- 嵌入式OS入门笔记-以RTX为案例:八.RTX的进程间通讯(二)