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;
}
}
}
- C#货币大小写转换
- 转换英文货币大小写的代码
- C#人民币大小写转换
- c# 金额大小写转换
- angularJs过滤器(货币转换,大小写,字数限制,日期)
- 人民币大小写转换 C#版
- C#人民币大小写金额转换
- c#大小写金额转换2
- C#商品金额大小写转换
- c#货币金额大写转换方法
- C#人民币大小写金额转换(C#版本)
- 货币转换
- 货币转换
- 货币转换
- C# 人民币大小写转换正则表达式
- C# char类型字符转换大小写
- C#中字符,字符串的大小写转换
- C#字符串处理之大小写转换
- IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)(沈美明,温冬蝉著)第三章答案
- 北大学子的暴强诗和同样暴强的回帖
- 30岁之前要注意什么(ZZ)
- 二战中日军南下的真正原因
- 笑话
- C#货币大小写转换
- 微软终于露出狐狸尾巴
- 删除前弹出对话框
- 通过JDBC连接Oracle数据库中的十大技巧
- 事半功倍系列 javascript
- C#小型计算器
- 道听途说: SWT……内幕?
- 专访Sun技术专家:如何理解JavaFX的应运而生
- 从TFTPDemo看文件流FileInputStream/FileOutputStream的使用