白开心
IT博客
::
首页
:: ::
联系
::
聚合
::
管理
::
9 随笔 :: 76 文章 :: 28 评论 :: 0 Trackbacks
<
2024年12月
>
日
一
二
三
四
五
六
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
公告
独坐在路边街角,冷风吹醒,默默地伴着我的孤影。
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(12)
给我留言
查看公开留言
查看私人留言
文章分类
.Net(学习ing...)(39)
(rss)
Asp+vbScript(14)
(rss)
JavaScript(14)
(rss)
T-SQL(8)
(rss)
经典收藏(8)
(rss)
设计模式
(rss)
文章档案
2013年4月 (1)
2013年3月 (1)
2012年7月 (1)
2012年4月 (1)
2011年10月 (1)
2011年8月 (1)
2011年3月 (1)
2011年2月 (1)
2011年1月 (1)
2010年9月 (1)
2010年6月 (1)
2010年4月 (2)
2010年1月 (1)
2009年11月 (1)
2009年10月 (6)
2009年9月 (3)
2009年8月 (2)
2009年5月 (1)
2008年10月 (2)
2008年9月 (2)
2008年7月 (2)
2008年6月 (1)
2008年3月 (1)
2008年2月 (1)
2008年1月 (1)
2007年12月 (5)
2007年11月 (4)
2007年10月 (2)
2007年9月 (2)
2007年7月 (1)
2007年6月 (2)
2007年4月 (2)
2007年1月 (1)
2006年12月 (1)
2006年11月 (2)
2006年8月 (1)
2006年7月 (1)
2006年5月 (2)
2006年4月 (1)
2006年2月 (1)
2006年1月 (1)
2005年12月 (10)
相册
PhotoShop Study For HuangHuaXiang
我的相册
收藏夹
.NET(1)
(rss)
其他类别
(rss)
搜索
最新评论
1. re: JQUERY的表单异步提交[未登录]
1111111
--111
2. re: JQUERY的表单异步提交
eqedqedasd
--123
3. re: 委托和匿名函数
评论内容较长,点击标题查看
--bracelet shopping
4. re: 递归查询
您好!你的在我这里怎么执行不了啊!
--小陈
5. re: JS操作Xml的相关方法[未登录]
不能保丰到服务器上?
--11
阅读排行榜
1. 窦房折返性心动过速(928)
2. ∷∷∷∷男人感悟一百条∷∷∷∷(710)
3. 人生致命的八个经典问题(657)
4. 秋天不回来(570)
5. 圣诞(467)
评论排行榜
1. 圣诞(0)
2. 人生致命的八个经典问题(0)
3. ∷∷∷∷男人感悟一百条∷∷∷∷(0)
4. 窦房折返性心动过速(0)
5. 秋天不回来(0)
数字转换中文字符(C#)
1
using
System;
2
using
System.Collections.Generic;
3
using
System.Text;
4
5
namespace
CW
6
{
7
public
class
Cash
8
{
9
private
static
string
MoneyNum
=
"
零一二三四五六七八九
"
;
10
private
static
string
MoneyUnit
=
"
十百千万十百千亿
"
;
11
private
static
string
CashUnit
=
"
元角分整
"
;
12
private
static
string
[] BeforeReplace
=
new
string
[]
{ MoneyNum[
0
].ToString()
+
MoneyNum[
0
].ToString(),
13
MoneyUnit[
7
].ToString()
+
MoneyNum[
0
].ToString()
+
MoneyUnit[
3
].ToString() ,
14
MoneyNum[
0
].ToString()
+
MoneyUnit[
3
].ToString(),
15
MoneyNum[
0
].ToString()
+
MoneyUnit[
7
].ToString(),
16
MoneyUnit[
7
].ToString()
+
MoneyUnit[
3
].ToString(),
17
MoneyNum[
0
].ToString()
+
MoneyNum[
0
].ToString(),
18
MoneyNum[
0
].ToString()
+
CashUnit[
1
].ToString()
+
MoneyNum[
0
].ToString()
+
CashUnit[
2
].ToString(),
19
MoneyNum[
0
].ToString()
+
CashUnit[
2
].ToString()
20
}
;
21
private
static
string
[] AfterReplace
=
new
string
[]
{ MoneyNum[
0
].ToString(),
22
MoneyUnit[
7
].ToString()
+
MoneyNum[
0
].ToString(),
23
MoneyUnit[
3
].ToString()
+
MoneyNum[
0
].ToString(),
24
MoneyUnit[
7
].ToString()
+
MoneyNum[
0
].ToString(),
25
MoneyUnit[
7
].ToString()
+
MoneyNum[
0
].ToString(),
26
MoneyNum[
0
].ToString(),
27
String.Empty,
28
String.Empty
29
}
;
30
31
/**/
/**/
/**/
///
<summary>
32
///
字符串替换方法,另外一种是以 4 个数字为基础的递归方法
33
///
Create By HJ 2007-10-21
34
///
</summary>
35
///
<param name="moneyNum"></param>
36
///
<returns></returns>
37
public
static
string
getCash(
decimal
moneyNum)
38
{
39
string
intNum, point;
40
/**/
/**/
/**/
///
取整数部分
41
intNum
=
Convert.ToString(Math.Floor(moneyNum));
42
/**/
/**/
/**/
///
取小数部分
43
point
=
Convert.ToString(Math.Floor(moneyNum
*
100
));
44
point
=
point.Substring(point.Length
-
2
);
45
46
/**/
/**/
/**/
///
计算整数部分
47
for
(
int
i
=
0
; i
<
MoneyNum.Length; i
++
)
48
{
49
intNum
=
intNum.Replace(i.ToString(), MoneyNum[i].ToString());
50
}
51
int
intNumLength
=
intNum.Length;
52
for
(
int
i
=
intNumLength
-
1
; i
>
0
; i
--
)
53
{
/**/
/**/
/**/
///
根据位数把单位加上
54
///
如果是零则不加单位,但是 万 和 亿 需要加上
55
if
(intNum[i
-
1
]
==
MoneyNum[
0
]
&&
(intNumLength
-
i
+
7
)
%
8
!=
3
&&
(intNumLength
-
i
+
7
)
%
8
!=
7
)
continue
;
56
intNum
=
intNum.Insert(i, MoneyUnit[(intNumLength
-
i
+
7
)
%
8
].ToString());
57
}
58
59
/**/
/**/
/**/
///
加上 角 和 分 的单位
60
intNum
+=
CashUnit[
0
].ToString()
+
MoneyNum.Substring(Convert.ToInt16(point[
0
].ToString()),
1
)
+
CashUnit[
1
].ToString()
+
MoneyNum.Substring(Convert.ToInt16(point[
1
].ToString()),
1
)
+
CashUnit[
2
].ToString();
61
62
/**/
/**/
/**/
///
替换 零零 -> 零 亿零万 -> 亿零,零万 -> 万零,零亿 -> 亿零,亿万 -> 亿零,零角零分 - > "",零分 - > "",零零 -> 零,再调用一次,确保 亿零万 替换后的情况
63
for
(
int
i
=
0
; i
<
BeforeReplace.Length; i
++
)
64
{
65
while
(intNum.IndexOf(BeforeReplace[i])
>-
1
)
66
{
67
intNum
=
intNum.Replace(BeforeReplace[i], AfterReplace[i]);
68
}
69
}
70
71
/**/
/**/
/**/
///
最后的 零 去掉
72
if
(intNum.EndsWith(MoneyNum[
0
].ToString())) intNum
=
intNum.Substring(
0
, intNum.Length
-
1
);
73
74
return
intNum
+
CashUnit[
3
].ToString();
75
}
76
77
}
78
}
posted on 2005-12-12 11:59
白开心
阅读(4751)
评论(0)
编辑
收藏
引用
所属分类:
.Net(学习ing...)
只有注册用户
登录
后才能发表评论。
Powered by:
IT博客
Copyright © 白开心