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#工具类:人民币金额转换为中文大写
在涉及到金融业务这一块的系统设计中,时常能够遇到的情况是需要将阿拉伯数字的人民币金额自动转换为中文的大写金额.现在互联网上也有很多网站提供此类服务,只要你输入人民币的阿拉伯数字金额,输入后自动给你转换 ...
随机推荐
- Ubuntu15.10 编译VLC Android(安卓)过程记录
持续更新中... 最后一次修改于 2016-03-20 15:33:45 1.必要库的安装 除基本编译环境(gcc.g++等外),需要额外安装如下的库(用于下载必要的依赖文件) (1)JDK 推荐安装 ...
- BZOJ 1620: [Usaco2008 Nov]Time Management 时间管理
Description Ever the maturing businessman, Farmer John realizes that he must manage his time effecti ...
- [原博客] POI系列(3)
正规.严谨.精妙. -POI BZOJ 1131 : [POI2008]Sta 树形dp吧,让求找一个点使以这个点深度和最小.首先可以随便整出来一棵树,对于每个节点记录down[i]以i为根下面的点的 ...
- MDN > Web technology for developers > HTTP
The Hypertext Transfer Protocol (HTTP) is an application-layer protocol for transmitting hypermedia ...
- DDD领域驱动设计和实践(转载)
-->目录导航 一. DDD领域驱动设计介绍 1. 什么是领域驱动设计(DDD) 2. 领域驱动设计的特点 3. 如果不使用DDD? 4. 领域驱动设计的分层架构和构成要素 5. 事务脚本和领域 ...
- 忽然想到,为什么以前iOS的工资高
听说做iOS的在上海工资也可以 前几年还行,现在也不太行了除非你水平很高 现在移动应用已经100多万了,基本饱和了以前是新的商业模式要抢时间,会的人也少
- iOS设备下添加button的按下效果
在触屏上, button的按下效果用:active触发, 但是我发现iOS设备上:active效果并没有生效. :active pseudo-class doesn't work in mobile ...
- $response->decoded_content; 和$response->content; 乱码问题
centos6.5:/root/podinns/lib#cat t1.pl use LWP::UserAgent; use HTTP::Date qw(time2iso str2time time2i ...
- Learning WCF Chapter1 Exposing Multiple Service Endpoints
So far in this chapter,I have shown you different ways to create services,how to expose a service en ...
- 利用if else 求房贷
static void Main(string[] args) { while (true) //主要就是公式的运用和if else 的嵌套 ...