C# 金额转为大写金额
/// <summary>
/// 金额转为大写金额
/// </summary>
public class MoneyConvertChinese
{
/// <summary>
/// 金额转为大写金额
/// </summary>
/// <param name="LowerMoney"></param>
/// <returns></returns>
public static 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;
}
}
}
C# 金额转为大写金额的更多相关文章
- PHP数字金额转换大写金额
早些年做CRM用到的一个金额转换函数,今天从旧项目中拿出来记录一下.金额转换的函数方法有很多,都很不错.不过这个是小崔刚工作的时候写的一个转换函数,多少还是有点纪念意义.如有问题请朋友们指出,小崔及时 ...
- odoo中Python实现小写金额转换为大写金额
自动将小写的金额数值转换为大写,方便记录 class project_parm(models.Model): def IIf(self, b, s1, s2): if b: return s1 els ...
- Excel小写金额转大写金额公式
=IF(ROUND(A6,2)<0,"无效数值",IF(ROUND(A6,2)=0,"零",IF(ROUND(A6,2)<1,"" ...
- ORACLE 小写金额转大写金额
Create Or Replace Function Money2Chinese(Money In Number) Return Varchar2 Is strYuan Varchar2(); str ...
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
sql server 关于表中只增标识问题 由于我们系统时间用的过长,数据量大,设计是采用自增ID 我们插入数据的时候把ID也写进去,我们可以采用 关闭和开启自增标识 没有关闭的时候 ,提示一下错 ...
- C#实现阿拉伯数字(小写金额)到大写中文(大写金额)的转换
/// <summary> /// 本类实现阿拉伯数字到大写中文的转换 /// 该类没有对非法数字进行判别,请事先自己判断数字是否合法 /// </summary& ...
- 大写金额字符串生成 C#实现
思路: 中文对金额的描述以四位为一组, 只考虑一万亿以内的数字则每组内以千.百.十和[亿\万\元]区分各位 连续的零按一个处理,组内最低位的零可略去 无角无分说整,有角无分只说角,无角有分说零X分,有 ...
- JS函数实现金额小写转大写
///<summery>小写金额转化大写金额</summery> function AmountLtoU(amount) { if (isNaN(amount) || amou ...
- js 金额小写转换为大写
<script> jQuery(document).ready(function () { //当金额文本框失去焦点时,自动将数字转化为大写填充到 大写的文本框中 $("#Amo ...
随机推荐
- transform、accumulate —— C++ 下的 MapReduce
accumulate:Map,逐元素分别单独处理: 注:for_each:不改变区间元素的内容,所以更多的是输出打印等功能: accumulate:Reduce,整体化归为一个单独的数值: 两个函数均 ...
- [_UICascadingTextStorage attributesAtIndex:effectiveRange:]: Range or index out of bounds
之前写过一篇<如何更好地限制一个UITextField的输入长度>,在文章最后得到的结论是可以直接使用 UIKIT_EXTERN NSString *const UITextFieldTe ...
- 将一分钟AP
1.登录无线AP 无线AP默认IP地址192.168.1.1.默认username和password是admin网络管理员通常是通过Web接口配置无线AP的.方法如以下: 无线AP的LAN连,更改主机 ...
- 可以左右移动横向无缝滚动的JS图片展示代码
在酷站网站下的,具体路径忘了,稍微改了一下,让它看起来像组滑动 1)被引用的js文件ScrollPic.js ?){){i+=l.length;)I=document.cookie.length;o= ...
- PAT 1021-1030 题解
早期部分代码用 Java 实现.由于 PAT 虽然支持各种语言,但只有 C/C++标程来限定时间,许多题目用 Java 读入数据就已经超时,后来转投 C/C++.浏览全部代码:请戳 本文谨代表个人思路 ...
- 从Client应用场景介绍IdentityServer4(四)
原文:从Client应用场景介绍IdentityServer4(四) 上节以对话形式,大概说了几种客户端授权模式的原理,这节重点介绍Hybrid模式在MVC下的使用.且为实现IdentityServe ...
- background意识(两)
今天看到了有关学习的价值的文章background于 [0积分下载我的小Demo]
- [转] Java的打包apk, jar、war、ear包
apk, war, ear可用zip压缩,看起来这四个包都是用简单方式zip/jar即可生成. ---------------------------------------------------- ...
- repo/git Android/CyanogenMod srouce code
For getting the whole Android/CM rom source code, 1. get the repo first.2. make sure the git is inst ...
- C#中的字符串——用Stringbuilder类很重要
注:这篇文章基本是<C#高级编程>(第七版)第九章的学习笔记. 众所周知,C#中处理字符串通常用的都是string,它其实是.NET基础类System.String类的映射.注意一个是小写 ...