999999999999.99) return "金额溢出"; char[] ch = new char[1];"/>
首页 > 数字金额转换汉字金额

数字金额转换汉字金额

2018-03-16 11页 doc 29KB 29阅读

用户头像

is_731942

暂无简介

举报
数字金额转换汉字金额数字金额转换汉字金额 /// /// 转换数字金额主函数(包括小数) /// /// 数字字符串 /// 转换成中文大写后的字符串或者出错信息提示字符串 public static string ConvertSum(string str) { if (!IsPositveDecimal(str)) return "格式错误!"; if (Double.Parse(str) > 999999999999.99) return "金额溢出"; char[] ch = new char[1]; ch[0...
数字金额转换汉字金额
数字金额转换汉字金额 /// /// 转换数字金额主函数(包括小数) /// /// 数字字符串 /// 转换成中文大写后的字符串或者出错信息提示字符串 public static string ConvertSum(string str) { if (!IsPositveDecimal(str)) return "格式错误!"; if (Double.Parse(str) > 999999999999.99) return "金额溢出"; char[] ch = new char[1]; ch[0] = '.'; //小数点 string[] splitstr = null; //定义按小数点分割后的字符串数组 splitstr = str.Split(ch[0]);//按小数点分割字符串 if (splitstr.Length == 1) //只有整数部分 { return ConvertData(str) + "圆整"; } else if (splitstr.Length == 2) { if (splitstr[0].ToString() == "0" || splitstr[0].ToString() == "")//输入.3 { string rstr = ""; string xiaoshu = ConvertXiaoShu(splitstr[1]); rstr += (xiaoshu == "") ? "整" : xiaoshu;//转换小数部分 return rstr; } else if (splitstr[1].ToString() == "0" || splitstr[1].ToString() == "")//输入3. { return ConvertData(splitstr[0].ToString()) + "圆整"; } else { string rstr; rstr = ConvertData(splitstr[0]) + "圆";//转换整数部分 string xiaoshu = ConvertXiaoShu(splitstr[1]); rstr += (xiaoshu == "") ? "整" : xiaoshu;//转换小数部分 return rstr; } } else //有小数部分 { string rstr; rstr = ConvertData(splitstr[0]) + "圆";//转换整数部分 string xiaoshu = ConvertXiaoShu(splitstr[1]); rstr += (xiaoshu == "") ? "整" : xiaoshu;//转换小数部分 return rstr; } } /// /// 判断是否是正数字字符串 /// /// 判断字符串 /// 如果是数字,返回true,否则返回false public static bool IsPositveDecimal(string str) { Decimal d; try { d = Decimal.Parse(str); } catch (Exception) { return false; } if (d > 0) return true; else return false; } /// /// 转换数字(整数) /// /// 需要转换的整数数字字符串 /// 转换成中文大写后的字符串 public static string ConvertData(string str) { string tmpstr = ""; string rstr = ""; int strlen = str.Length; if (strlen <= 4)//数字长度小于四位 { rstr = ConvertDigit(str); } else { if (strlen <= 8)//数字长度大于四位,小于八位 { tmpstr = str.Substring(strlen - 4, 4);//先截取最后四位数字 rstr = ConvertDigit(tmpstr);//转换最后四位数字 tmpstr = str.Substring(0, strlen - 4);//截取其余数字 //将两次转换的数字加上萬后相连接 rstr = String.Concat(ConvertDigit(tmpstr) + "萬", rstr); rstr = rstr.Replace("零萬", "萬"); rstr = rstr.Replace("零零", "零"); } else if (strlen <= 12)//数字长度大于八位,小于十二位 { tmpstr = str.Substring(strlen - 4, 4);//先截取最后四位数字 rstr = ConvertDigit(tmpstr);//转换最后四位数字 tmpstr = str.Substring(strlen - 8, 4);//再截取四位数字 rstr = String.Concat(ConvertDigit(tmpstr) + "萬", rstr); tmpstr = str.Substring(0, strlen - 8); rstr = String.Concat(ConvertDigit(tmpstr) + "億", rstr); rstr = rstr.Replace("零億", "億"); rstr = rstr.Replace("零萬", "零"); rstr = rstr.Replace("零零", "零"); rstr = rstr.Replace("零零", "零"); } } strlen = rstr.Length; if (strlen >= 2) { switch (rstr.Substring(strlen - 2, 2)) { case "佰零": rstr = rstr.Substring(0, strlen - 2) + "佰"; break; case "仟零": rstr = rstr.Substring(0, strlen - 2) + "仟"; break; case "萬零": rstr = rstr.Substring(0, strlen - 2) + "萬"; break; case "億零": rstr = rstr.Substring(0, strlen - 2) + "億"; break; } } return rstr; } /// /// 转换数字(小数部分) /// /// 需要转换的小数部分数字字符串 /// 转换成中文大写后的字符串 public static string ConvertXiaoShu(string str) { int strlen = str.Length; string rstr; if (strlen == 1) { rstr = ConvertChinese(str) + "角"; return rstr; } else { string tmpstr = str.Substring(0, 1); rstr = ConvertChinese(tmpstr) + "角"; tmpstr = str.Substring(1, 1); rstr += ConvertChinese(tmpstr) + "分"; rstr = rstr.Replace("零分", ""); rstr = rstr.Replace("零角", ""); return rstr; } } /// /// 转换数字 /// /// 转换的字符串(四位以内) /// public static string ConvertDigit(string str) { int strlen = str.Length; string rstr = ""; switch (strlen) { case 1: rstr = ConvertChinese(str); break; case 2: rstr = Convert2Digit(str); break; case 3: rstr = Convert3Digit(str); break; case 4: rstr = Convert4Digit(str); break; } rstr = rstr.Replace("拾零", "拾"); strlen = rstr.Length; return rstr; } /// /// 转换四位数字 /// public static string Convert4Digit(string str) { string str1 = str.Substring(0, 1); string str2 = str.Substring(1, 1); string str3 = str.Substring(2, 1); string str4 = str.Substring(3, 1); string rstring = ""; rstring += ConvertChinese(str1) + "仟"; rstring += ConvertChinese(str2) + "佰"; rstring += ConvertChinese(str3) + "拾"; rstring += ConvertChinese(str4); rstring = rstring.Replace("零仟", "零"); rstring = rstring.Replace("零佰", "零"); rstring = rstring.Replace("零拾", "零"); rstring = rstring.Replace("零零", "零"); rstring = rstring.Replace("零零", "零"); rstring = rstring.Replace("零零", "零"); return rstring; } /// /// 转换三位数字 /// public static string Convert3Digit(string str) { string str1 = str.Substring(0, 1); string str2 = str.Substring(1, 1); string str3 = str.Substring(2, 1); string rstring = ""; rstring += ConvertChinese(str1) + "佰"; rstring += ConvertChinese(str2) + "拾"; rstring += ConvertChinese(str3); rstring = rstring.Replace("零佰", "零"); rstring = rstring.Replace("零拾", "零"); rstring = rstring.Replace("零零", "零"); rstring = rstring.Replace("零零", "零"); return rstring; } /// /// 转换二位数字 /// public static string Convert2Digit(string str) { string str1 = str.Substring(0, 1); string str2 = str.Substring(1, 1); string rstring = ""; rstring += ConvertChinese(str1) + "拾"; rstring += ConvertChinese(str2); rstring = rstring.Replace("零拾", "零"); rstring = rstring.Replace("零零", "零"); return rstring; } /// /// 将一位数字转换成中文大写数字 /// public static string ConvertChinese(string str) { //"零壹贰叁肆伍陆柒捌玖拾佰仟萬億圆整角分" string cstr = ""; switch (str) { case "0": cstr = "零"; break; case "1": cstr = "壹"; break; case "2": cstr = "贰"; break; case "3": cstr = "叁"; break; case "4": cstr = "肆"; break; case "5": cstr = "伍"; break; case "6": cstr = "陆"; break; case "7": cstr = "柒"; break; case "8": cstr = "捌"; break; case "9": cstr = "玖"; break; } return (cstr); }
/
本文档为【数字金额转换汉字金额】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索