[转] 金额小写变大写

 1         /// <summary>
 2         /// 金额小写变大写
 3         /// </summary>
 4         /// <param name="smallnum"></param>
 5         /// <returns></returns>
 6         public static string gMoney(decimal smallnum)
 7         {
 8             string cmoney , cnumber, cnum, cnum_end,cmon ,cno,snum ,sno;
 9             int snum_len , sint_len, cbegin, zflag , i;
10             if(smallnum > 1000000000000 || smallnum < -99999999999 || smallnum == 0)
11                 return "";
12             cmoney = "仟佰拾亿仟佰拾万仟佰拾元角分" ;// 大写人民币单位字符串
13             cnumber = "壹贰叁肆伍陆柒捌玖"          ;// 大写数字字符串
14             cnum = ""                               ;// 转换后的大写数字字符串
15             cnum_end = ""                           ;// 转换后的大写数字字符串的最后一位
16             cmon = ""                               ;// 取大写人民币单位字符串中的某一位
17             cno = ""                                ;// 取大写数字字符串中的某一位
18
19
20
21             snum = Round(smallnum,2).ToString("############.00");  ;// 小写数字字符串
22             snum_len = snum.Length                  ;// 小写数字字符串的长度
23             sint_len = snum_len - 2                 ;// 小写数字整数部份字符串的长度
24             sno = ""                                ;// 小写数字字符串中的某个数字字符
25             cbegin = 15 - snum_len                  ;// 大写人民币单位中的汉字位置
26             zflag = 1                               ;// 小写数字字符是否为0(0=0)的判断标志
27             i = 0                                   ;// 小写数字字符串中数字字符的位置
28
29             if(snum_len > 15)
30                 return "";
31             for(i=0;i<snum_len;i++)
32             {
33                 if (i==sint_len-1)
34                     continue;
35
36
37                 cmon = cmoney.Substring(cbegin, 1);
38                 cbegin = cbegin + 1;
39                 sno =snum.Substring(i,1);
40                 if (sno=="-")
41                 {
42                     cnum = cnum + "负";
43                     continue;
44                 }
45                 else if(sno=="0")
46                 {
47                     cnum_end = cnum.Substring(cnum.Length-2,1);
48                     if(cbegin == 4 || (cbegin == 8 || cnum_end.IndexOf("亿")>=0|| cbegin == 12 ))
49                     {
50                         cnum = cnum + cmon;
51                         if (cnumber.IndexOf(cnum_end)>=0 )
52                             zflag = 1;
53                         else
54                             zflag = 0;
55                     }
56                     else
57                     {
58                         zflag = 0;
59                     }
60                     continue;
61                 }
62                 else if( sno != "0" && zflag == 0)
63                 {
64                     cnum = cnum + "零";
65                     zflag = 1;
66                 }
67                 cno =cnumber.Substring(System.Convert.ToInt32(sno)-1, 1);
68                 cnum = cnum + cno + cmon;
69             }
70             if (snum.Substring(snum.Length-2,1)=="0")
71             {
72                 return  cnum + "整";
73             }
74             else
75                 return cnum;
76         }
时间: 2024-10-13 02:08:25

[转] 金额小写变大写的相关文章

Python3基础 字符串 swapcase 英文字母小写变大写 并且 大写变小写

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ code: myStr='hello WORLD' #大写变小写 并 小写变大写 myNewStr=myStr.swapcase() print(myStr) print(myNewStr) result: ============= RESTART: C:/Users/Administr

JS函数实现金额小写转大写

止乎于分享! 1 ///<summery>小写金额转化大写金额</summery> 2 function AmountLtoU(amount) { 3 if (isNaN(amount) || amount >= 1000000000000) return "无效金额!"; //数值最大不超过1万亿 4 var sPrefix = amount < 0 ? "(负)" : ""; //将负号‘-’显示成汉字‘(

C#金额小写转大写

public string ConvertMoney(decimal Money) { //金额转换程序 string MoneyNum = "";//记录小写金额字符串[输入参数] string MoneyStr = "";//记录大写金额字符串[输出参数] string BNumStr = "零壹贰叁肆伍陆柒捌玖";//模 string UnitStr = "万仟佰拾亿仟佰拾万仟佰拾圆角分";//模 MoneyNum =

SQL金额小写转大写

CREATE FUNCTION dbo.L2U(@n_LowerMoney numeric(15,2),@v_TransType int) RETURNS VARCHAR(200) AS BEGIN Declare @v_LowerStr VARCHAR(200) -- 小写金额 Declare @v_UpperPart VARCHAR(200) Declare @v_UpperStr VARCHAR(200) -- 大写金额 Declare @i_I int set @v_LowerStr =

js 金额小写转换为大写

<script> jQuery(document).ready(function () { //当金额文本框失去焦点时,自动将数字转化为大写填充到 大写的文本框中 $("#Amount").blur(function () { var amount = $("#Amount").val(); amount = AmountLtoU(amount); $("#CapitalAmount").val(amount); }); }); fu

大写字母变小写,小写变大写,数字不输出

#include "stdio.h" #include "stdlib.h" void main() {     char c;     scanf("%c",&c);     if(c>=65&&c<=90)     {      c=c+32;      printf("输出小写字母为:%c\n",c);     }     else if(c>=97&&c<

华为机试—串小写变大写

输入字符串单词,将单词小写全部变为大写. #include <iostream> #include <string> #include <vector> using namespace std; int main() { vector<string> ss; string s; while(cin>>s) ss.push_back(s); for(int i=0;i<ss.size();i++) { for(int j=0;j<ss[

C#金额小写转换为大写

//传入需要转换的金额(字符串) public static string MoneyToChinese(string strAmount)     { string functionReturnValue = null; bool IsNegative = false; // 是否是负数 if (strAmount.Trim().Substring(0, 1) == "-")         { // 是负数则先转为正数 strAmount = strAmount.Trim().Re

Python TIPS上一道关于人民币金额小写转大写的题

人民币金额打印 题目链接:here.我发现我写的好复杂,但万幸编码还算符合人类,看了其他答案,感觉都是天书. #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2017-06-09 # @Author : Bob Liao ([email protected]) # @Link : https://github.com/coderchaser # @Version : python3.4 #创建大小写转换字典 num_dic={ #