关于C#实现阿拉伯数字转换成中文大写
来源:互联网 发布:sql insert注意事项 编辑:程序博客网 时间:2024/05/16 05:10
public enum Chinese_Num { 零 = 0, 壹 = 1, 贰 = 2, 叁 = 3, 肆 = 4, 伍 = 5, 陆 = 6, 柒 = 7, 捌 = 8, 玖 = 9, 点 = 10 } public enum Unit { 拾 = 2, 佰 = 3, 仟 = 4, 万 = 5, 亿 = 9, 兆 = 13 }
private void button1_Click(object sender, EventArgs e) { string Money = textBox1.Text.Trim(); try { Decimal money = Convert.ToDecimal(Money); Money = money.ToString(); MessageBox.Show(TurnIntoChinese_Num(Money)); } catch (Exception ex) { MessageBox.Show(ex.Message); } } private string TurnIntoChinese_Num(string money) { StringBuilder RMB = new StringBuilder(); //判断输入是否包含小数点 if (money.Contains('.')) { //如果小数点前只有一位 if (money.Split('.')[0].Length > 1) { RMB.Append(GetInt(money.Split('.')[0])); RMB.Append(GetOne(10) + GetFloat(money.Split('.')[1])); } else { RMB.Append(GetOne(Convert.ToInt32(money.Split('.')[0]))); RMB.Append(GetOne(10) + GetFloat(money.Split('.')[1])); } } else { RMB.Append(GetInt(money)); } return RMB.ToString(); } /// <summary> /// 转换整数部分 /// </summary> /// <param name="money"></param> /// <returns></returns> private string GetInt(string money) { StringBuilder RMB = new StringBuilder(); int count = money.Length; int Index = Convert.ToInt32(count / 4); for (int i = Index; i >= 0; i--) { if (GetUnder_four(money.Substring(0, money.Length - 4 * i)) == "") { continue; } else { RMB.Append(GetUnder_four(money.Substring(0, money.Length - 4 * i)) + GetIndex(4 * i + 1)); } } //if (i == 0) //{ // if (money != "0") // { // RMB.Append(GetUnder_four(money)); // } // else // { // RMB.Append(GetOne(Convert.ToInt32(money))); // } //} //else //{ // else // { // RMB.Append(GetUnder_four(money.Substring(0, money.Length - 4 * i)) + GetIndex(4 * i + 1)); // } //} return RMB.ToString(); } /// <summary> /// 转换4位以下的数字 /// </summary> /// <param name="money"></param> /// <returns></returns> private string GetUnder_four(string money) { StringBuilder RMB = new StringBuilder(); if (money.Length > 4) money = money.Substring(money.Length - 4); char[] numlist = money.ToCharArray(); for (int i = numlist.Length; i > 0; i--) { char num = numlist[numlist.Length - i]; if (num == '0') { if (i > 1) { //如果连续为零,只显示一个 if (numlist[numlist.Length - i + 1] != '0') { RMB.Append(GetOne(0)); } else continue; } } else { RMB.Append(GetOne(Convert.ToInt16(num.ToString())) + GetIndex(i)); } } return RMB.ToString(); } /// <summary> /// 转化小数部分 /// </summary> /// <param name="money"></param> /// <returns></returns> private string GetFloat(string money) { StringBuilder sb = new StringBuilder(); string C_num = string.Empty; for (int i = 0; i < money.Length; i++) { int num = Convert.ToInt32(money.Substring(i, 1)); C_num = GetOne(num); sb.Append(C_num); } return sb.ToString(); } /// <summary> /// 转换单个整数 /// </summary> /// <param name="money"></param> /// <returns></returns> private string GetOne(int money) { string Chinese_Num = Enum.GetName(typeof(Chinese_Num), money); return Chinese_Num; } /// <summary> /// 转化单位 /// </summary> /// <param name="index"></param> /// <returns></returns> private string GetIndex(int index) { string Chinese_Num = Enum.GetName(typeof(Unit), index); return Chinese_Num; }
- 关于C#实现阿拉伯数字转换成中文大写
- C# 实现将阿拉伯数字转换成中文大写金额
- Java实现阿拉伯数字转换成中文大写数字,以及中文大写数字到阿拉伯数字的转换。
- Java实现阿拉伯数字转换成中文大写数字,以及中文大写数字到阿拉伯数字的转换
- 使用C#实现阿拉伯数字到大写中文的转换
- 使用C#实现阿拉伯数字到大写中文的转换
- C#实现阿拉伯数字到大写中文的转换
- C#阿拉伯数字转换为中文大写
- C#实现的【阿拉伯数字转换成中文大写金额】代码(原创)
- 实现阿拉伯数字大写中文的转换
- 阿拉伯数字转换成中文大写金额
- 阿拉伯数字转换成中文大写数字
- java 中文大写数字 转换成 阿拉伯数字
- 使用C#实现阿拉伯数字到大写中文的转换-第二种方法
- 使用C#实现阿拉伯数字到大写中文的转换-第二种方法
- C#阿拉伯数字金额转换为中文大写金额
- C#写的将阿拉伯数字转换成中文大写金额代码
- 用C#将任意位整数阿拉伯数字转换成中文大写
- 函数调用栈
- extjs combobox分页查询
- [Linux]RedHat创建新用户的时候没有产生".bash_profile"
- php执行linux命令
- 无毒一身轻
- 关于C#实现阿拉伯数字转换成中文大写
- asmcmd: command disallowed by current instance type
- My experience with the quirements analyst tools.
- 转发:关于吴清源
- 穿鞋爱好看出女人性格
- VMWARE 显示Unable to open kernel device "\\.\Global\vmx86" 的解决办法
- shell编程——文件名截取
- ArcGIS for Android 离线数据编辑原理
- RedHat/CentOS/Fedora 系统密码破解