public class Rmb
{
/// <summary>
/// 转换人民币大小金额
/// </summary>
/// <param name="num">金额</param>
/// <returns>返回大写形式</returns>
public static string CmycurD(decimal num)
{
string str1 = "零壹贰叁肆伍陆柒捌玖"; //0-9所对应的汉字
string str2 = "万仟佰拾亿仟佰拾万仟佰拾元角分"; //数字位所对应的汉字
string str3 = ""; //从原num值中取出的值
string str4 = ""; //数字的字符串形式
string str5 = ""; //人民币大写金额形式
int i; //循环变量
int j; //num的值乘以100的字符串长度
string ch1 = ""; //数字的汉语读法
string ch2 = ""; //数字位的汉字读法
int nzero = ; //用来计算连续的零值是几个
int temp; //从原num值中取出的值 num = Math.Round(Math.Abs(num), ); //将num取绝对值并四舍五入取2位小数
str4 = ((long)(num * )).ToString(); //将num乘100并转换成字符串形式
j = str4.Length; //找出最高位
if (j > ) { return "溢出"; }
str2 = str2.Substring( - j); //取出对应位数的str2的值。如:200.55,j为5所以str2=佰拾元角分 //循环取出每一位需要转换的值
for (i = ; i < j; i++)
{
str3 = str4.Substring(i, ); //取出需转换的某一位的值
temp = Convert.ToInt32(str3); //转换为数字
if (i != (j - ) && i != (j - ) && i != (j - ) && i != (j - ))
{
//当所取位数不为元、万、亿、万亿上的数字时
if (str3 == "")
{
ch1 = "";
ch2 = "";
nzero = nzero + ;
}
else
{
if (str3 != "" && nzero != )
{
ch1 = "零" + str1.Substring(temp * , );
ch2 = str2.Substring(i, );
nzero = ;
}
else
{
ch1 = str1.Substring(temp * , );
ch2 = str2.Substring(i, );
nzero = ;
}
}
}
else
{
//该位是万亿,亿,万,元位等关键位
if (str3 != "" && nzero != )
{
ch1 = "零" + str1.Substring(temp * , );
ch2 = str2.Substring(i, );
nzero = ;
}
else
{
if (str3 != "" && nzero == )
{
ch1 = str1.Substring(temp * , );
ch2 = str2.Substring(i, );
nzero = ;
}
else
{
if (str3 == "" && nzero >= )
{
ch1 = "";
ch2 = "";
nzero = nzero + ;
}
else
{
if (j >= )
{
ch1 = "";
nzero = nzero + ;
}
else
{
ch1 = "";
ch2 = str2.Substring(i, );
nzero = nzero + ;
}
}
}
}
}
if (i == (j - ) || i == (j - ))
{
//如果该位是亿位或元位,则必须写上
ch2 = str2.Substring(i, );
}
str5 = str5 + ch1 + ch2; if (i == j - && str3 == "")
{
//最后一位(分)为0时,加上“整”
str5 = str5 + '整';
}
}
if (num == )
{
str5 = "零元整";
}
return str5;
} /**/
/// <summary>
/// 一个重载,将字符串先转换成数字在调用CmycurD(decimal num)
/// </summary>
/// <param name="num">用户输入的金额,字符串形式未转成decimal</param>
/// <returns></returns>
public static string CmycurD(string numstr)
{
try
{
decimal num = Convert.ToDecimal(numstr);
return CmycurD(num);
}
catch
{
return "非数字形式!";
}
}
}

C# 钱数 小写 转 大写的更多相关文章

  1. JAVA将数字钱数转换为大写

    1.Java文件的编写 package com.cwai.xtag; import java.util.Scanner; public class Num2Rmb { private String[] ...

  2. recurse_array_change_key_case()递规返回字符串键名全为小写或大写的数组

    //递归返回字符串键名全为小写或大写的数组function recurse_array_change_key_case(&$input, $case = CASE_LOWER){    if( ...

  3. 自定义EL函数:小写转大写

    1,定义java静态方法,FunctionDemo,有小写转大写的功能 package com.itheima.domain; public class FunctionDemo { public s ...

  4. java网络编程(6)——实现一个服务器把小写转大写

    实现一个服务器,通过我们发送的文本数据,然后转回大写放回,实现一个服务端与客户端的交互,用over来作为结束标记,具体代码如下: 客户端: package com.seven.tcp; import ...

  5. 批量将PowerDesigner中表字段由小写变成大写

    通过以下VB脚本即可批量修改,在Tools=>Execute Commands下的Edit/Run Scripts,或者通过Ctrl+Shift+X运行以下脚本即可: '************ ...

  6. C# 字符串大写转小写,小写转大写,数字保留,其他除外

    又是一道面试题,我只想到两种方式: 第一种:循环字符串,判断每个字符串的类型,再根据类型对该字符进行操作(转大写.转小写.不变或舍弃) static void Main(string[] args) ...

  7. ABAP-金额小写转大写

    FUNCTION ZSDI0007_CH_LOWERTOUPPER. *"---------------------------------------------------------- ...

  8. vue 如何将输入框的输入自动小写转大写(使用 v-model 时采取另一种方式)

    前言:小写转大写,可以用过滤器实现,但当使用 v-model 时就不行了,这里有解决方案.转载请注明出处:https://www.cnblogs.com/yuxiaole/p/9289205.html ...

  9. python把指定目录下的递归所有目录和文件名转换成小写或大写

    cat convert.py #!/usr/bin/env python # -*- coding:utf-8 -*- import os, sys def convert(rootdir, opty ...

随机推荐

  1. DateFormat多线程使用问题

    reference DateFormat in a Multithreading Environment

  2. vim8配置python3补全

    安装Python3 卸载编译安装的python3 rm -rf /usr/local/lib/python3.7/ rm -rf /usr/local/bin/2to3* rm -rf /usr/lo ...

  3. php设置文件类型content-type

    在PHP中可以通过header函数来发送头信息,还可以设置文件的content-type,下面整理了一些常见文件类型对于的content-type值. //date 2015-06-22//定义编码h ...

  4. 电竞大数据平台 FunData 的系统架构演进

      电竞大数据时代,数据对比赛的观赏性和专业性都起到了至关重要的作用.同样的,这也对电竞数据的丰富性与实时性提出了越来越高的要求. 电竞数据的丰富性从受众角度来看,可分为赛事.战队和玩家数据:从游戏角 ...

  5. 20190305-leetcode题目有效的括号

    给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 注意空字符串可被认 ...

  6. 01-Python简介

    人生苦短,我用 Python —— Life is short, you need Python 目标 Python 的起源 Python 解释器 是用 C 语言实现的,并能够调用 C 语言的库文件. ...

  7. wechall MySQL Authentication Bypass II

    首先看看源码 username password分开来验证.但是没做过滤 通常的利用方法是使用union构造已知MD5值的查询. 如果username存在则执行查询,并且为admin.我们用unnio ...

  8. python2.7入门---GUI编程(Tkinter)

        Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 . ...

  9. WPF实现拖拽功能

    技术点:WPF的Behaviors实现了对象的行为附加,Microsoft.Expression.Interactions程序集中包含了若干Behaviors,其中MouseDragElementBe ...

  10. WPF自定义命令

    WPF的自定义命令实现过程包括三个部分,定义命令.定义命令源.命令调用,代码实现如下: public partial class MainWindow : Window { public MainWi ...