c#将金额转换为大写,支持小数点,原创经典
网上搜的都有问题,这个代码属于原创,代码简洁,支持小数点,若没有小数点,则为整
/// <summary>
/// 将金额转换成大写
/// </summary>
/// <param name="moneys">字符串金额</param>
/// <returns></returns>
public static string GetUpperMoney(string money)
{
int dotPos = money.IndexOf('.');//小数点位置
string moneyRight = dotPos > - ? (money + "").Substring(dotPos + , ) : "";//小数部分
if (dotPos > -)
{
money = money.Substring(, dotPos);//money取整
}
string rtnStr = "";
string daxie = "元拾佰仟万亿";
string daxieZ = "零壹贰叁肆伍陆柒捌玖";
int moneyLen = money.Length;
for (int i = ; i < moneyLen; i++)
{
string nowStr = money.Substring(i, );
string mn1 = daxieZ.Substring(Convert.ToInt32(nowStr), );
int nowPos = moneyLen - i - ;
if (nowPos > )
{
if (nowPos == )
{
nowPos = ;
}
else
{
nowPos = nowPos % + ;
}
}
else if (nowPos > )
{
nowPos = nowPos % + ;
}
string mn2 = daxie.Substring(nowPos, );
rtnStr = rtnStr + mn1 + mn2;
} rtnStr = rtnStr.Replace("零仟", "零");
rtnStr = rtnStr.Replace("零佰", "零");
rtnStr = rtnStr.Replace("零拾", "零");
rtnStr = rtnStr.Replace("零零零", "零");
rtnStr = rtnStr.Replace("零零", "零");
rtnStr = rtnStr.Replace("零万", "万");
rtnStr = rtnStr.Replace("零亿", "亿");
if (dotPos > )
{
rtnStr = rtnStr + daxieZ.Substring(Convert.ToInt32(moneyRight.Substring(, )), ) + "角";
rtnStr = rtnStr + daxieZ.Substring(Convert.ToInt32(moneyRight.Substring(, )), ) + "分";
}
else
{
rtnStr += "整";
}
return rtnStr;
}
c#将金额转换为大写,支持小数点,原创经典的更多相关文章
- C#:小写金额转换为大写
		#region 小写金额转换为大写 public static string CurrToChnNum(double Currnum) { string sResult = ""; ... 
- Java货币金额转换为大写形式
		package com.test; import java.math.BigDecimal; /** * * * 数字转换为汉语中人民币的大写<br> * */ public class ... 
- JS实现将数字金额转换为大写人民币汉字
		function convertCurrency(money) { //汉字的数字 var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', ... 
- pl/sql实现金额转换为大写
		FUNCTION upper_case_currency(vrmb char) RETURN varchar2 IS rmbwodecimal varchar2(20); result varchar ... 
- js将人民币金额转换为大写
		function upDigit(n) { var fraction = ['角', '分']; var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒' ... 
- js 人民币小写金额转换为大写
		function smalltoBIG(n) { var fraction = ['角', '分']; var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', ... 
- JS将人民币小写金额转换为大写
		/** 数字金额大写转换(可以处理整数,小数,负数) */ function smalltoBIG(n) { var fraction = ['角', '分']; var digit = ['零', ... 
- java将小写金额转换为大写的工具类
		public class Tool { private static final String UNIT = "万千佰拾亿千佰拾万千佰拾元角分"; ... 
- 【转载】C#工具类:人民币金额转换为中文大写
		在涉及到金融业务这一块的系统设计中,时常能够遇到的情况是需要将阿拉伯数字的人民币金额自动转换为中文的大写金额.现在互联网上也有很多网站提供此类服务,只要你输入人民币的阿拉伯数字金额,输入后自动给你转换 ... 
随机推荐
- js与uri中location关系
			//获取域名host = window.location.host;host2=document.domain; //获取页面完整地址url = window.location.href; docum ... 
- Cassandra1.2文档学习(1)——Cassandra基本说明
			参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/architecture/a ... 
- C# WPF 从网络加载图片到byte[]数组中 Stream转byte[]代码
			折腾一中午 因为NetworkStream不支持Length属性 private byte[] GetImageFromResponse(WebResponse response) { using ( ... 
- Http 状态码详解
			状态码 含义 100 客户端应当继续发送请求.这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝.客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应.服务器必须在 ... 
- xmpp 配置数据库 服务器
			一.了解XMPP 协议(标准) XMPP 即时通讯协议 SGIP 短信网关协议 这手机发短信 移动支付和网页支付 0x23232[0,1] 0x23232 0x23232 0x23232 只有协议,必 ... 
- WordPress 全方位优化指南(上)
			作为一个全面的 WordPress 性能优化教程,本文旨在帮助读者排查 WordPress 网站的性能问题,同时也提供网站前端优化加速的建议. 如果你曾经遇到过 WordPress 管理界面加载缓慢. ... 
- PYTHON不定参数与__DOC__
			def total(initial = 5, *numbers, **keywords): count = initial for number in numbers: count += number ... 
- [收藏转贴]WCFRESTFul服务搭建及实现增删改查
			RESTful Wcf是一种基于Http协议的服务架构风格, RESTful 的服务通常是架构层面上的考虑. 因为它天生就具有很好的跨平台跨语言的集成能力,几乎所有的语言和网络平台都支持 HTTP ... 
- Lua的function、closure和upvalue
			Lua中的函数是一阶类型值(first-class value),定义函数就象创建普通类型值一样(只不过函数类型值的数据主要是一条条指令而已),所以在函数体中仍然可以定义函数.假设函数f2定义在函数f ... 
- LiBsvm用于多分类时训练模型参数含义
			The 'svmtrain' function returns a model which can be used for futureprediction. It is a structure a ... 
