C#求高手帮忙实现一下

问题描述

对C#不是很熟悉,高手帮忙做一下:原代码是我在本论坛里找到的如下

usingSystem;usingSystem.Collections.Generic;usingSystem.Text;//转换数字金额为人民币大写namespaceConvertMoney{publicclassConvertMoney{staticpublicstringconvertMoneytoRMB(decimaldecMoney){stringstrMoney,strOneNum,strTemp,strConverted;inti,iLen;//设初值strConverted="";strMoney=decMoney.ToString();iLen=strMoney.Length;//先取小数位if(strMoney.IndexOf(".")>0){strTemp=strMoney.Substring(strMoney.IndexOf(".")+1,strMoney.Length-strMoney.IndexOf(".")-1);if(strTemp.Length>2){Console.WriteLine("错误:无法计算超过2位的小数");returnstrConverted;}elseif(strTemp=="0"||strTemp=="00"||strTemp=="")strTemp="";else{if(strTemp.Length==1&&strTemp!="0"){strConverted=converNumtoCapital(strTemp)+"角"+strConverted;}else{strOneNum=strTemp.Substring(0,1);strConverted=converNumtoCapital(strOneNum)+(strOneNum!="0"?"角":"")+strConverted;strOneNum=strTemp.Substring(1,1);strConverted=strConverted+(strOneNum!="0"?converNumtoCapital(strOneNum)+"分":"");}}}//取整数部分if(strMoney.IndexOf(".")<0)strTemp=strMoney;elsestrTemp=strMoney.Substring(0,strMoney.IndexOf("."));iLen=strTemp.Length;Console.WriteLine(strTemp);if(iLen>0&&decimal.Parse(strTemp)!=0){strConverted="元"+strConverted;for(i=0;i<iLen;++i){strOneNum=strTemp.Substring(iLen-1-i,1);if((i+1)==1){strConverted=(strOneNum=="0"?"":converNumtoCapital(strOneNum))+strConverted;}elseif(((i+1)%4==2||(i+1)==2)&&i%4!=0&&i%8!=0){if(strOneNum=="0"){if(strConverted.Substring(0,1)=="零"||strConverted.Substring(0,1)=="元"||strConverted.Substring(0,1)=="万"||strConverted.Substring(0,1)=="亿")continue;elsestrConverted="零"+strConverted;}elsestrConverted=converNumtoCapital(strOneNum)+"拾"+strConverted;}elseif(((i+1)%4==3||(i+1)==3)&&i%4!=0){if(strOneNum=="0"){if(strConverted.Substring(0,1)=="零"||strConverted.Substring(0,1)=="元"||strConverted.Substring(0,1)=="万"||strConverted.Substring(0,1)=="亿")continue;elsestrConverted="零"+strConverted;}elsestrConverted=converNumtoCapital(strOneNum)+"佰"+strConverted;}elseif((i+1)%4==0&&i%4!=0){if(strOneNum=="0"){if(strConverted.Substring(0,1)=="零"||strConverted.Substring(0,1)=="元"||strConverted.Substring(0,1)=="万"||strConverted.Substring(0,1)=="亿")continue;elsestrConverted="零"+strConverted;}elsestrConverted=converNumtoCapital(strOneNum)+"千"+strConverted;}elseif(i%4==0&&i%8!=0){Console.WriteLine("万位{0}",i);strConverted=(strOneNum=="0"?"":converNumtoCapital(strOneNum))+"万"+strConverted;}elseif(i%8==0){Console.WriteLine("亿位{0}",i);if(strConverted.Substring(0,1)=="万")strConverted=strConverted.Substring(1,strConverted.Length-1);strConverted=(strOneNum=="0"?"":converNumtoCapital(strOneNum))+"亿"+strConverted;}else{Console.WriteLine(i);strConverted=converNumtoCapital(strOneNum)+strConverted;}}}returnstrConverted;}staticstringconverNumtoCapital(stringstrNum){stringstrCapital="";switch(strNum){case"0":strCapital="零";break;case"1":strCapital="壹";break;case"2":strCapital="贰";break;case"3":strCapital="叁";break;case"4":strCapital="肆";break;case"5":strCapital="伍";break;case"6":strCapital="陆";break;case"7":strCapital="柒";break;case"8":strCapital="捌";break;case"9":strCapital="玖";break;default:strCapital="";break;}returnstrCapital;}}classProgram{staticvoidMain(string[]args){decimali;strings;while(1==1){Console.WriteLine("输入一个金额(直接回车退出):");s=Console.ReadLine();if(s=="")break;//检查金额是否符合规则try{i=decimal.Parse(s);if(i<0)thrownewException("不能是负数");}catch(Exceptione){Console.WriteLine(e.Message);return;}s=ConvertMoney.convertMoneytoRMB(i);Console.WriteLine("人民币大写金额为:{0}",s);}}}}我想要让它成为一个windows控制程序。如下(窗口不是很好上传,只能用下文字说明了,谅解):输入:textbox1-----转换button1---读法:textbox2苦于C#学得不是很好,做了好久都不成功........

解决方案

解决方案二:
不用自己写这个。直接到微软网站上下载个MicrosoftVisualStudioInternationalFeaturePack2.0,里面自带金额转人民币大写,稍作处理就行了。例如:Microsoft.International.Formatters.InternationalNumericFormatterf=newMicrosoft.International.Formatters.InternationalNumericFormatter();stringr=f.Format("L",1234500078.85,newCultureInfo("zh-cn"));Response.Write(r);

输出:拾贰亿叁仟肆佰伍拾万零柒拾捌点捌伍你把这个结果稍作处理,添上元、角、分就可以了。
解决方案三:
添上元、角、分:strings="拾贰亿叁仟肆佰伍拾万零柒拾捌点捌伍";stringr=Regex.Replace(s,@"点(w)(w?)","元$1角$2分");r=r.Replace("角分","角");Response.Write(r);

输出:拾贰亿叁仟肆佰伍拾万零柒拾捌元捌角伍分
解决方案四:
嗯,谢谢楼上的,但是我还想做出这个,想弄懂它....求助

时间: 2024-09-20 10:27:36

C#求高手帮忙实现一下的相关文章

ios-小女子求高手帮忙绘制一个自定义图表

问题描述 小女子求高手帮忙绘制一个自定义图表 小女子刚开始ios编程不久,如今有个画图表的需求,不知道该怎么实现,求高手帮帮忙,下面是需求图C804A51F-3878-4D66-9C49-EF996F790E23.png 解决方案 图都看不见. 刚开始,谁都一样,多练习多查资料,慢慢就会了,一步步来. 先自己想,先把思路列出来,不会的再查,主要是要想弄明白需求是什么,弄不明白,其他的就是会了,在遇到问题,你也想不明白. 这是我的观点,我也是刚学习IOS编程不久,经常蒙圈.多练多敲多想多查就好了.

aptana-关于Aptana不提示浏览器兼容图标的问题,求高手帮忙!

问题描述 关于Aptana不提示浏览器兼容图标的问题,求高手帮忙! 上图是现在不知道怎么回事没有浏览器图标了,不知道是不是被我设置错了,求高手帮忙! 下图是以前的,

eclipse+gradle build过程中出现此问题 求高手帮忙解决下

问题描述 eclipse+gradle build过程中出现此问题 求高手帮忙解决下 Execution failed for task ':PunkHoo:packageAllDebugClassesForMultiDex'. java.util.zip.ZipException: duplicate entry: android/support/v4/internal/view/ SupportMenu.class

字符串格式不正确 将一个字符串转换为datatime,先分析字符串以获取日期 。怎么改啊求高手帮忙

问题描述 字符串格式不正确 将一个字符串转换为datatime,先分析字符串以获取日期 .怎么改啊求高手帮忙 string sql1 = "insert into shuju(sid,m1,date,time1,time2,m2,state,m3,status,m4,tq_state,m5,msg_count,m6,msg_bytes) values ('" + Convert.ToSingle(sid.Trim()) + "','" + Convert.ToSin

项目启动报oracle错-项目启动报错,在网上查了好多资料还是为解决,求高手帮忙

问题描述 项目启动报错,在网上查了好多资料还是为解决,求高手帮忙 [14:22:13] [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1] WARN - com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@11765ae -- Acquisition Attempt Failed!!! Clearing pending acquires. While t

log4j输出日志了两遍,求高手帮忙看看

问题描述 log4j输出日志了两遍,求高手帮忙看看 我的项目是用log4j.xml配置的,配置了一个root,然后又配置了一个logger,nane=test,root和logger输出到不同的日志文件中,使用Logger.getLogger("test").info("test").结果两个日志文件都输出了日志,我的期望是只在test那个logger里输出,怎么做才能实现呢?

indows+蓝屏-Windows系统蓝屏,下面是bluescreanView和Windbg分析的结果,求高手帮忙看下~~谢谢

问题描述 Windows系统蓝屏,下面是bluescreanView和Windbg分析的结果,求高手帮忙看下~~谢谢 BlueScream分析结果: ==================================================** Dump File : 121814-18735-01.dmp Crash Time : 2014/12/18 7:19:00 Bug Check String : CRITICAL_OBJECT_TERMINATION Bug Check C

加密-java和php的hmac_sha1结果不同,求高手帮忙

问题描述 java和php的hmac_sha1结果不同,求高手帮忙 最近遇到hmac_sha1跨语言加密的问题,只提供给了java加密文件,没提供php的,我用php hmac_sha1内置函数,得到的sig加密结果不同,欢迎高手帮忙提供相对应的php代码,提供的java类如下 欢迎加QQ: 847036019 public abstract class Coder { public static final String KEY_SHA = "SHA"; public static

msp430 串口发送-MSP430F247串口发送问题,求高手帮忙看一下,谢谢,实在是弄不出来了~

问题描述 MSP430F247串口发送问题,求高手帮忙看一下,谢谢,实在是弄不出来了~ 我的程序是这样的: #include void delay_us(int n) { for(int i=0; i<n; i++) for(int j=0; j<8; j++); } void UartInit() { UCA0CTL1 |= UCSWRST; P3SEL |= 0x30; // P3.4,5 = USART0 TXD/RXD UCA0CTL1 |= UCSSEL1; //8Mhz, 1152

dfs-HUD 1010老超时求高手帮忙

问题描述 HUD 1010老超时求高手帮忙 import java.util.Scanner; public class Num2 { static int t,y2,x2,v; static char[][] map; public static void dfs(int i,int j,int count){ if(i<0 || j<0 || i>=map.length || j>=map[i].length){ return; } if(((t-count)-(Math.ab