- 浏览: 611834 次
- 性别:
- 来自: 卡哇伊
文章分类
- 全部博客 (299)
- C# (25)
- Java (1)
- WinForm (0)
- Asp.Net (86)
- Jsp (2)
- Php (1)
- Web Service (0)
- Desgin Patterns (19)
- Data Structure & Algorithms (1)
- SQLserver (41)
- Mysql (0)
- Oracle (2)
- Javascript (50)
- Ajax (10)
- Jquery (1)
- Flex (0)
- Regular Expression (5)
- DIV+CSS+XHTML+XML (18)
- Software Test (0)
- Linux (0)
- Utility (17)
- Net Digest (4)
- windows 2003 (10)
- Other (4)
- English (1)
- IT Term (1)
最新评论
-
w497480098h:
学习了 很好谢谢
SQL Server下无限多级别分类查询解决办法(简单查询树形结构数据库表) -
main_fun:
确实不错
iframe自适应高度 -
jveqi:
...
DBA -
mxcie:
其它版本没有确认,今天使用vs2003时,其.sln文件也需要 ...
彻底删除项目的VSS源代码管理信息 -
moneyprosper:
就只有IE支持,火狐和谷歌都不支持此种方法。正在寻找中。。。
从父页面读取和操作iframe中内容方法
方法一:
/// <summary> /// 金额转大写 /// </summary> public class MoneyConvertChinese { /// <summary> ///金额转大写 /// </summary> /// <param name="LowerMoney"></param> /// <returns></returns> public 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; } } }
测试代码:
static void Main(string[] args) { Console.Write("请输入要转成大写的数字:"); string str = Console.ReadLine(); Console.WriteLine("大写:" + new MoneyConvertChinese().MoneyToChinese(str)); Console.ReadLine(); }
测试结果:
方法二:
public static string CmycurD(decimal m_theMoney) { string str1 = "零壹贰叁肆伍陆柒捌玖";//0-9所对应的汉字 string str2 = "万仟佰拾亿仟佰拾万仟佰拾元角分";//数字位所对应的汉字 string str3 = "";//从原m_theMoney值中取出的值 string str4 = "";//数字的字符串形式 string str5 = "";//人民币大写金额形式 int i;//循环变量 int j;//m_theMoney的值乘以100的字符串长度 string ch1 = "";//数字的汉语读法 string ch2 = "";//数字位的汉字读法 int nzero = 0;//用来计算连续的零值是几个 int temp;//从原m_theMoney值中取出的值 //将m_theMoney取绝对值并四舍五入取2位小数 m_theMoney = Math.Round(Math.Abs(m_theMoney), 2); //将m_theMoney乘100并转换成字符串形式 str4 = ((long)(m_theMoney * 100)).ToString(); //找出最高位 j = str4.Length; if (j > 15) { return "溢出"; } //取出对应位数的str2的值。如:200.55,j为5所以str2=佰拾元角分 str2 = str2.Substring(15 - j); //循环取出每一位需要转换的值 for (i = 0; i < j; i++) { str3 = str4.Substring(i, 1);//取出需转换的某一位的值 temp = Convert.ToInt32(str3);//转换为数字 if (i != (j - 3) && i != (j - 7) && i != (j - 11) && i != (j - 15)) { //当所取位数不为元、万、亿、万亿上的数字时 if (str3 == "0") { ch1 = ""; ch2 = ""; nzero = nzero + 1; } else { if (str3 != "0" && nzero != 0) { ch1 = "零" + str1.Substring(temp * 1, 1); ch2 = str2.Substring(i, 1); nzero = 0; } else { ch1 = str1.Substring(temp * 1, 1); ch2 = str2.Substring(i, 1); nzero = 0; } } } else { //该位是万亿,亿,万,元位等关键位 if (str3 != "0" && nzero != 0) { ch1 = "零" + str1.Substring(temp * 1, 1); ch2 = str2.Substring(i, 1); nzero = 0; } else { if (str3 != "0" && nzero == 0) { ch1 = str1.Substring(temp * 1, 1); ch2 = str2.Substring(i, 1); nzero = 0; } else { if (str3 == "0" && nzero >= 3) { ch1 = ""; ch2 = ""; nzero = nzero + 1; } else { if (j >= 11) { ch1 = ""; nzero = nzero + 1; } else { ch1 = ""; ch2 = str2.Substring(i, 1); nzero = nzero + 1; } } } } } if (i == (j - 11) || i == (j - 3)) { //如果该位是亿位或元位,则必须写上 ch2 = str2.Substring(i, 1); } str5 = str5 + ch1 + ch2; if (i == j - 1 && str3 == "0") { //最后一位(分)为0时,加上“整” str5 = str5 + '整'; } } if (m_theMoney == 0) { str5 = "零元整"; } return str5; }
发表评论
-
向SqlCommand对象的ParameterCollections集合添加参数时犯的低级错误
2009-10-23 16:58 1496今天写代码遇到了一个小小的问题看来是基础不过关啊,嘿嘿. ... -
格式化文件大小的C#方法
2009-10-21 10:31 1810/// <summary> // ... -
学习C#:Attribute与Property
2009-10-04 14:23 2764一.什么是Attribute 先看下面的三段代码: ... -
String和StringBuilder的区别和使用
2009-08-11 10:22 1270String是固定不变的,在进行字符串连接的时候是新建一 ... -
C#值类型后面加问号表示可为空null(Nullable 结构)
2009-08-04 14:38 7973值类型后面加问号表示可为空null(Nullable 结构)N ... -
C# 替换去除HTML标记方法(正则表达式)
2009-07-31 11:02 8633using System.Text.RegularExpres ... -
C#里面比较时间大小三种方法
2009-07-29 12:55 12201。比较时间大小的实验 string str1 ... -
DataTime.Ticks
2009-07-29 07:30 4481java Date.getTime() getTime pub ... -
.net读取和写入txt文件
2009-07-21 23:34 7339//检查文件,如果文件不 ... -
Static方法
2009-07-19 23:28 8561.static方法是类中的一个成员方法,属于整个类,即使不用 ... -
C#中判断空字符串的3种方法性能分析
2009-07-02 08:47 12343种方法分别是: string a="&qu ... -
ASP.NET发布网站解决方案
2009-06-30 14:31 5355对于想了解发布网站那 ... -
C#中@的用法
2009-06-28 06:13 8621. 加在字符串前面,字符串中的 \ 失去转义符的作用,直接 ... -
c# cs 生成dll
2009-06-25 23:00 2350C# 语言是一种简单但功 ... -
C#项目引用完全相同dll文件的问题解决方法(反射)
2009-06-25 19:52 7213今天有开发人员问我一个问题,他的项目中要引用两个类库,这两 ... -
ADO.NET事务
2009-06-23 14:07 977private void DemoTranscation() ... -
null,"",String.Empty的区别
2009-06-16 16:37 11671.null null 关键字是表示不引用任何对象的空引用 ... -
C#类和接口、虚方法和抽象方法及值类型和引用类型的区别
2009-06-13 14:56 10921.C#类和接口的区别 ... -
Asp.net日期格式
2009-06-06 18:37 1282DateTime dt = DateTime.Now; ... -
GUID介绍
2009-05-22 08:56 1600GUID(全局统一标识符) ...
相关推荐
在Oracle数据库环境中,有时我们需要将数字金额转换成汉字大写形式,这在财务报表或理财程序中尤为常见,因为汉字大写是财务领域的一种标准表示方式,可以避免因数字混淆而引发的错误。本篇文章将深入探讨如何在...
水晶报表数字金额转中文大写,用于水晶报表中将数字金额转换为中文大写的金额
总的来说,数字转中文大写金额在Delphi中是一个实用的功能,需要对Delphi语言有良好的掌握,同时也需要熟悉财务领域的规则。通过学习和实践,不仅可以提升编程技巧,还能加深对财务规范的理解。
将数字转为中文金额的大写方式(Java版) 博文链接:https://lovinchan.iteye.com/blog/202768
Java程序实现数字金额转为大写中文金额,是一项常见的编程任务,尤其在金融行业以及需要处理财务数据的软件中应用广泛。其核心功能是将阿拉伯数字表示的金额转换成中文大写形式,以满足财务凭证、支票、合同等文档中...
通常,这样的文章会涵盖数字到中文大写金额的映射规则,以及如何使用C++的字符串操作、循环和条件判断来实现转换算法。 从标签“源码”来看,这个压缩包可能包含了一份实现了这个功能的C++源代码。源码是程序员可以...
最好放在公共方法里,以便调用,定义String 类型接受返回的金额,调用参数为需要传入的金额
可以把金额数值转为财务上常用的金额大写,如100元 转为壹佰园
在MySQL数据库中,有时我们需要将数字金额转换成人民币的大写形式,这在财务报表或会计系统中非常常见。为了实现这一需求,我们可以自定义一个函数或者利用现有的字符串处理函数。以下是一个关于如何在MySQL中实现这...
本文将深入探讨如何在Android环境中实现这一功能,包括数字转中文以及数字金额转大写,并且会涉及到口语化的转换。 首先,数字转中文主要是将阿拉伯数字(如1、2、3等)转换成中文数字(如一、二、三等)。在Java或...
在日常生活中,我们经常会遇到需要将数字金额转换成汉字大写的情况,尤其是在财务、会计以及银行系统中更为常见。对于编程语言如C#而言,实现这种功能也是一项基本技能。 #### 一、需求分析 该程序的主要目标是将...
在IT行业中,尤其是在财务软件开发或者银行系统的编程中,经常需要将货币金额转换为中文大写,以便于账目的清晰性和准确性。C#作为一种广泛使用的编程语言,提供了丰富的字符串处理和数学运算功能,使得实现这一功能...
C#语言的对金额的大写转换,包括圆整等,可以直接复制使用,亲测过。
- 创建一个映射,将大写金额转为数字。 - 使用正则表达式或循环遍历去除非数字字符。 - 分段处理,转换大写数字为阿拉伯数字。 4. **示例代码**: ```java public static int capitalToDigit(String capital) ...
1、该dll能将阿拉伯数字转换为汉字数字或者中文大写金额。例如1234567.07可转换为: “一百二十三万四千五百六十七点零七”或“壹佰贰拾叁万肆仟伍佰陆拾柒圆零柒分”。 目前支持正负千亿以内(整数部分不超过12位)...
VBA函数,用于财务上的金额数字自动转为大写。有代码,可以自己设置小数位数。