C#货币大小写转换

来源:互联网 发布:淘宝优惠券api接口 编辑:程序博客网 时间:2024/05/16 14:49

该程序是在VS2005编写的,所以想看效果,最好用VS2005进行编译。

很多时候,老师会让学生写这样一些题目,我遇到过这样的事,用很多语言,包括脚本语言写过,下面是C#实现的代码,缺陷是有的,希望发现的网友提出宝贵的意见!谢谢!

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace 货币转换
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            string Str = this.textBox1.Text;
            Boolean flag= true;
            string strArr = "";
            char [] strAr=strArr.ToCharArray();
            string[] zheng = Str.Split('.');
            for (int i = 0; i < zheng[0].Length - 1; i++)
            {

                char cha0 = char.Parse(zheng[0].Substring(i, 1));
                if ('0' > cha0 || cha0 > '9')
                {
                    MessageBox.Show("请你正确输入!");
                    this.textBox1.Text = "";
                    flag = false;


                }
            }
            if (flag == true && double.Parse(this.textBox1.Text) != Convert.ToInt64(double.Parse(this.textBox1.Text)))
            for ( int i = 0; i < zheng[1].Length - 1; i++)
            {

                char cha0 = char.Parse(zheng[1].Substring(i, 1));
                if ('0' > cha0 || cha0 > '9')
                {
                    MessageBox.Show("请你正确输入!");
                    this.textBox1.Text = "";
                    flag = false;


                }
            }
            if (flag)
            {
                this.label1.Text = MoneyNumtoCap(Str);
            }

        }
        private void button2_Click(object sender, EventArgs e)
        {

            this.textBox1.Text = "";
            this.label1.Text = "";
            Capstr = "";
        }
      
          
       
        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.textBox1.Text = "";
            this.label1.Text = "";
        }
        private string Capstr;/////////////////
        public string MoneyNumtoCap(string str)
        {
            string Cap = "零壹贰叁肆伍陆柒捌玖";
            string Numstr = "0123456789";
            string MoneyNumstr = str;
            int Pint = MoneyNumstr.IndexOf(".");
            int Numint;

            string Moneyint = null;
            string Moneydec = null;
            string Intstr = null;
            string MoneyCap = null;
            string Moneyintstr = null;
            string Moneydecstr = null;
            //   Capstr=Pint.ToString();

            if (Pint != -1)
            {
                string strArr = ".";
                char[] charArr = strArr.ToCharArray();
                string[] MoneyNumArr = MoneyNumstr.Split(charArr);
                Moneyint = MoneyNumArr[0].ToString();
                Moneydec = MoneyNumArr[1].ToString();

            }
            else
            {
                Moneyint = MoneyNumstr;
                Moneydec = "00";
            }

            if (Moneyint.Length > 16)
            {
                MessageBox.Show("数值超界");
            }
            else
            {
                //--- 处理整数部分--------

                for (int j = 1; j <= Moneyint.Length; j++)
                {
                    Moneyintstr = Moneyint.Substring(j - 1, 1);
                    for (int i = 0; i <= 9; i++)
                    {

                        Intstr = Numstr.Substring(i, 1);
                        MoneyCap = Cap.Substring(i, 1);

                        if (Moneyintstr == Intstr)
                        {

                            switch (Intstr)
                            {
                                case "0":
                                    Capstr = Capstr + MoneyCap;
                                    break;
                                case "1":
                                    Capstr = Capstr + MoneyCap;
                                    break;
                                case "2":
                                    Capstr = Capstr + MoneyCap;
                                    break;
                                case "3":
                                    Capstr = Capstr + MoneyCap;
                                    break;
                                case "4":
                                    Capstr = Capstr + MoneyCap;
                                    break;
                                case "5":
                                    Capstr = Capstr + MoneyCap;
                                    break;
                                case "6":
                                    Capstr = Capstr + MoneyCap;
                                    break;
                                case "7":
                                    Capstr = Capstr + MoneyCap;
                                    break;
                                case "8":
                                    Capstr = Capstr + MoneyCap;
                                    break;
                                case "9":
                                    Capstr = Capstr + MoneyCap;
                                    break;
                            }
                        }
                    }
                    Numint = Moneyint.Length - j + 1;
                    switch (Numint)
                    {
                        case 16:
                            Capstr = Capstr + "仟万";
                            break;
                        case 15:
                            Capstr = Capstr + "佰万";
                            break;
                        case 14:
                            Capstr = Capstr + "拾万";
                            break;
                        case 13:
                            Capstr = Capstr + "万";
                            break;

                        case 12:
                            Capstr = Capstr + "仟";
                            break;

                        case 11:
                            Capstr = Capstr + "佰";
                            break;

                        case 10:
                            Capstr = Capstr + "拾";
                            break;

                        case 9:
                            Capstr = Capstr + "亿";
                            break;

                        case 8:
                            Capstr = Capstr + "仟";
                            break;

                        case 7:
                            Capstr = Capstr + "佰";
                            break;

                        case 6:
                            Capstr = Capstr + "拾";
                            break;


                        case 5:
                            Capstr = Capstr + "万";
                            break;

                        case 4:
                            Capstr = Capstr + "仟";
                            break;
                        case 3:
                            Capstr = Capstr + "佰";
                            break;
                        case 2:
                            Capstr = Capstr + "拾";
                            break;
                        case 1:
                            Capstr = Capstr + "元";
                            break;

                    }

                }

                //------处理小数部分-----
                for (int j = 1; j <= Moneydec.Length; j++)
                {
                    Moneydecstr = Moneydec.Substring(j - 1, 1);

                    for (int i = 0; i <= 9; i++)
                    {
                        Intstr = Numstr.Substring(i, 1);
                        MoneyCap = Cap.Substring(i, 1);
                        if (Moneydecstr == Intstr)
                        {

                            switch (Intstr)
                            {
                                case "0":
                                    Capstr = Capstr + MoneyCap;
                                    break;
                                case "1":
                                    Capstr = Capstr + MoneyCap;
                                    break;
                                case "2":
                                    Capstr = Capstr + MoneyCap;
                                    break;
                                case "3":
                                    Capstr = Capstr + MoneyCap;
                                    break;
                                case "4":
                                    Capstr = Capstr + MoneyCap;
                                    break;
                                case "5":
                                    Capstr = Capstr + MoneyCap;
                                    break;
                                case "6":
                                    Capstr = Capstr + MoneyCap;
                                    break;
                                case "7":
                                    Capstr = Capstr + MoneyCap;
                                    break;
                                case "8":
                                    Capstr = Capstr + MoneyCap;
                                    break;
                                case "9":
                                    Capstr = Capstr + MoneyCap;
                                    break;
                            }
                        }
                    }


                    switch (j)
                    {
                        case 1:
                            Capstr = Capstr + "角";
                            break;
                        case 2:
                            Capstr = Capstr + "分";
                            break;

                    }

                }

            }

            return Capstr;
        }

      

    }

null
原创粉丝点击