货币格式转换。 现在一字符串。。20.00000需要转换成人民币的格式 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public class NumToRmb { public ArrayList chLen = new ArrayList(); public ArrayList ToRmb = new ArrayList(); //public string[] 位数=new string[]("个","拾","百","千","万","拾万","百万","千万","亿"); public NumToRmb() { // // TODO: 在此处添加构造函数逻辑 // } public string conversion(string sum)//传来的数字(字符型的)564122 { string weishu = ""; string s = ""; chLen.Add("元整"); chLen.Add("拾"); chLen.Add("佰"); chLen.Add("仟"); chLen.Add("万"); chLen.Add("拾万"); chLen.Add("佰万"); chLen.Add("仟万"); chLen.Add("亿"); ToRmb.Add("零"); ToRmb.Add("壹"); ToRmb.Add("贰"); ToRmb.Add("叁"); ToRmb.Add("肆"); ToRmb.Add("伍"); ToRmb.Add("陆"); ToRmb.Add("柒"); ToRmb.Add("捌"); ToRmb.Add("玖"); // string s=(string)位数[0]; int d = sum.Length;//一共有多少位 if (d < 6) { char[] f = sum.ToCharArray(0, d); for (int i = 0; i < d; i++) { Object dd = f.GetValue(i); weishu = dd.ToString();//实际数字 int ddd = Convert.ToInt16(weishu); weishu = (string)ToRmb[ddd]; s += weishu + chLen[d - 1 - i]; } return s; } else { char[] f = sum.ToCharArray(0, d); for (int i = 0; i < d; i++) { if (d - i < 5) { Object dd = f.GetValue(i); weishu = dd.ToString();//实际数字 int ddd = Convert.ToInt16(weishu); weishu = (string)ToRmb[ddd]; s += weishu + chLen[d - 1 - i]; } else { Object dd = f.GetValue(i); weishu = dd.ToString();//实际数字 int ddd = Convert.ToInt16(weishu); weishu = (string)ToRmb[ddd]; if (d - i == 5) { s += weishu + "万"; } else { s += weishu + chLen[d - 5]; } } } return s; } } } http://blog.csdn.net/honkerhero/archive/2007/02/02/1500684.aspx 谢谢楼上两位,,我不是要大小写是要带人民币符号我用string.Format("{0:c}","20.000");它给我的还是20.000 double a=20.00000;a.ToString("C");-----> NT$20.00 自己在前面加一个符号就行了.,string.Format("¥{0:C}","20.000") 去字符串首位的问题 请问WPF一定要手写XAML吗? 我的listview有2列,三行, 页面设计的一个问题 关于网页重定向 Rewriter 的问题 能在C++中调用的C#组件怎么做? DataGrid取数据问题 如何用POST方式传递和接收参数 基础:如何将enum作为参数传递? 求助:向EXCEL中插入数据的SQL语句格式 求C#做窗口停靠效果,如QQ[思路] C# 如何设置打印机 字体
{ public ArrayList chLen = new ArrayList();
public ArrayList ToRmb = new ArrayList();
//public string[] 位数=new string[]("个","拾","百","千","万","拾万","百万","千万","亿");
public NumToRmb()
{ //
// TODO: 在此处添加构造函数逻辑
//
}
public string conversion(string sum)//传来的数字(字符型的)564122
{
string weishu = "";
string s = "";
chLen.Add("元整");
chLen.Add("拾");
chLen.Add("佰");
chLen.Add("仟");
chLen.Add("万");
chLen.Add("拾万");
chLen.Add("佰万");
chLen.Add("仟万");
chLen.Add("亿");
ToRmb.Add("零");
ToRmb.Add("壹");
ToRmb.Add("贰");
ToRmb.Add("叁");
ToRmb.Add("肆");
ToRmb.Add("伍");
ToRmb.Add("陆");
ToRmb.Add("柒");
ToRmb.Add("捌");
ToRmb.Add("玖");
// string s=(string)位数[0];
int d = sum.Length;//一共有多少位
if (d < 6)
{
char[] f = sum.ToCharArray(0, d);
for (int i = 0; i < d; i++)
{
Object dd = f.GetValue(i);
weishu = dd.ToString();//实际数字
int ddd = Convert.ToInt16(weishu);
weishu = (string)ToRmb[ddd];
s += weishu + chLen[d - 1 - i];
}
return s;
}
else
{
char[] f = sum.ToCharArray(0, d);
for (int i = 0; i < d; i++)
{
if (d - i < 5)
{
Object dd = f.GetValue(i);
weishu = dd.ToString();//实际数字
int ddd = Convert.ToInt16(weishu);
weishu = (string)ToRmb[ddd]; s += weishu + chLen[d - 1 - i];
}
else
{ Object dd = f.GetValue(i);
weishu = dd.ToString();//实际数字
int ddd = Convert.ToInt16(weishu);
weishu = (string)ToRmb[ddd];
if (d - i == 5)
{
s += weishu + "万";
}
else
{
s += weishu + chLen[d - 5];
}
}
}
return s;
} }
}
它给我的还是20.000
a.ToString("C");-----> NT$20.00
string.Format("¥{0:C}","20.000")