当前位置:编程学习 > C#/ASP.NET >>

大哥美女们帮忙写个C#的widows桌面应用程序

大哥美女们帮忙写个C#的widows桌面应用程序 
今天急用 
发我邮箱:pc_prince@163.com 


题目:为方便存取款时金额大小写之间的转换,银行系统需要将小写金额转换为中文大写金额。请写一个函数,将阿拉伯数字转换为中文大写形式。
注意:函数准确性,执行效率以及可重用性。
例如: 432225    转换后为       肆拾叁万贰仟贰佰贰拾伍 
       4002004   转换后为       肆佰万零贰仟零肆 --------------------编程问答--------------------
有些方法名字我可能记得不对了,你看需要稍微改改就可以了。
这个调用是静态的,不需要new这个类。
使用的时候直接用:
CastToChineseNumber.DoCast("xxx-400");
这样的形式就可以了

public class CastToChineseNumber {
// 实施转换的主方法,静态函数。
public static string DoCast(string input) {
   if (String.IsNullOrEmpty(input)) return ""; // 如果输入为空则返回空
   string src = input; // 原始字符串的副本
   string ret = ""; // 准备返回的结果字符串
   for (int i = 0; i < src.Length; i++) {
      switch src.Get(i) {  // 获取当前位置的字符,可能C#里面不叫Get吧,你自己再看看相关方法,下面一样需要替换。。。
         case "-": ret += src.Get(i) // 去掉"-"
         break;
         case "0": ret += "零";
         break;
         case "1": ret += "壹";
         break;
         case "2": ret += "贰";
         break;
         // ......
         // 0-9 依次写成上面那样的汉字,我就不逐个给你写了
         defalut: ret += src.Get(i); // 其他文字逐个复制过来
         break;
      }
   }
return ret;
}
--------------------编程问答-------------------- 毛主席云:自己动手,丰衣足食 --------------------编程问答--------------------
引用 2 楼 woainikeaibibi 的回复:
毛主席云:自己动手,丰衣足食
en --------------------编程问答-------------------- 其實是個很簡單的程序
就是需要LZ一個Switch結構
在加上判斷數字的位數.
這樣簡單的東西感覺LZ自己應該能寫出來吧..
--------------------编程问答-------------------- 源码肯定没有,自己动手 --------------------编程问答-------------------- 真懒。。。。。。。。。。。。。。。。。。。。。 --------------------编程问答-------------------- 嗯,不是一般的懒 --------------------编程问答-------------------- 是有点懒。我以前用C写过了正好用C#练练手 --------------------编程问答-------------------- 楼上的不要为了接点分,就带写作业啊。 --------------------编程问答--------------------  思路可以告诉你,但是源码就没得。 --------------------编程问答--------------------
private static string giveNum(int n,string name)
        {
            if (n == 0) return "零";
            if (n > 10000) throw new Exception("");
            string[] chara = { "", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖", "零", "", "拾", "佰", "仟"};
            
            string tempStr="";
            List<int> charNum = new List<int>();
            
            string result="";
            int i = 0;
            do
            {

                charNum.Add(n % 10);
                n = (int)n / 10;
                if (charNum[i] == 0)
                {
                    if (!(i > 0 && charNum[i - 1] == 0)) tempStr = chara[10];
                }
                int temp2 = ((int)(charNum[i] - 10) / 10) + 1;
                result = tempStr + chara[charNum[i]] + chara[11 + i * temp2] + result;
                i++;
                tempStr = "";
                if (n < 1) break;
            } while (true);
            if (result.EndsWith("零")) return result.Remove(result.Length - 1) + name + "零";
            return result + name;

        }
--------------------编程问答--------------------
引用 11 楼 sinhbv 的回复:
C# code
private static string giveNum(int n,string name)
        {
            if (n == 0) return "零";
            if (n > 10000) throw new Exception("");
            string[] chara = { "", "壹", "贰"……

看了这种写法感觉自己以前的写法太繁琐了. --------------------编程问答-------------------- 我就是楼主。 --------------------编程问答-------------------- 楼主比我还懒···· --------------------编程问答-------------------- 百度一下 一大堆 --------------------编程问答--------------------
引用 2 楼 woainikeaibibi 的回复:
毛主席云:自己动手,丰衣足食

不错 --------------------编程问答-------------------- 学习一下
--------------------编程问答-------------------- --------------------编程问答--------------------
引用楼主 pc_prince 的回复:
例如: 432225 转换后为 肆拾叁万贰仟贰佰贰拾伍 
  4002004 转换后为 肆佰万……


要是这么写,等着银行退票吧,432225=肆拾叁万贰仟贰佰贰拾伍元整

现在:432220.50=肆拾叁万贰仟贰佰贰拾元伍角整

过去:432220.50=肆拾叁万贰仟贰佰贰拾元零伍角整


98年时,我给别人写过一个大小写转换的函数(MFC的),当时给了我3000元,并不是他们不会写代码,而且让他们用笔都写不出来 --------------------编程问答-------------------- 所以,还是先搞清楚正确的写法,再自己或找人编写或从网上找吧,网上找到的,几乎90%都是不能用的,转换后,不符合银行的要求 --------------------编程问答-------------------- 网上一搜一大堆 --------------------编程问答-------------------- 丰衣… --------------------编程问答-------------------- 同学你也太懒了
--------------------编程问答-------------------- 思路很多,自己写写吧。 --------------------编程问答-------------------- 这个应该不难吧。 --------------------编程问答-------------------- 楼主不是一般的懒 --------------------编程问答-------------------- 楼主不错,学习啦 --------------------编程问答--------------------
引用 2 楼 woainikeaibibi 的回复:
毛主席云:自己动手,丰衣足食

想想,这个比较好
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,