zoukankan
html css js c++ java
小写金额转换成中文大字金额函数
public
static
string
CmycurD(
decimal
num)
{
string
str1
=
"
零壹贰叁肆伍陆柒捌玖
"
;
//
0-9所对应的汉字
string
str2
=
"
万仟佰拾亿仟佰拾万仟佰拾元角分
"
;
//
数字位所对应的汉字
string
str3
=
""
;
//
从原num值中取出的值
string
str4
=
""
;
//
数字的字符串形式
string
str5
=
""
;
//
人民币大写金额形式
int
i;
//
循环变量
int
j;
//
num的值乘以100的字符串长度
string
ch1
=
""
;
//
数字的汉语读法
string
ch2
=
""
;
//
数字位的汉字读法
int
nzero
=
0
;
//
用来计算连续的零值是几个
int
temp;
//
从原num值中取出的值
num
=
Math.Round(Math.Abs(num),
2
);
//
将num取绝对值并四舍五入取2位小数
str4
=
((
long
)(num
*
100
)).ToString();
//
将num乘100并转换成字符串形式
j
=
str4.Length;
//
找出最高位
if
(j
>
15
)
{
return
"
溢出
"
;}
str2
=
str2.Substring(
15
-
j);
//
取出对应位数的str2的值。如:200.55,j为5所以str2=佰拾元角分
//
循环取出每一位需要转换的值
for
(i
=
0
;i
<
j;i
++
)
{
str3
=
str4.Substring(i,
1
);
//
取出需转换的某一位的值
temp
=
Convert.ToInt32(str3);
//
转换为数字
if
(i
!=
(j
-
3
)
&&
i
!=
(j
-
7
)
&&
i
!=
(j
-
11
)
&&
i
!=
(j
-
15
))
{
//
当所取位数不为元、万、亿、万亿上的数字时
if
(str3
==
"
0
"
)
{
ch1
=
""
;
ch2
=
""
;
nzero
=
nzero
+
1
;
}
else
{
if
(str3
!=
"
0
"
&&
nzero
!=
0
)
{
ch1
=
"
零
"
+
str1.Substring(temp
*
1
,
1
);
ch2
=
str2.Substring(i,
1
);
nzero
=
0
;
}
else
{
ch1
=
str1.Substring(temp
*
1
,
1
);
ch2
=
str2.Substring(i,
1
);
nzero
=
0
;
}
}
}
else
{
//
该位是万亿,亿,万,元位等关键位
if
(str3
!=
"
0
"
&&
nzero
!=
0
)
{
ch1
=
"
零
"
+
str1.Substring(temp
*
1
,
1
);
ch2
=
str2.Substring(i,
1
);
nzero
=
0
;
}
else
{
if
(str3
!=
"
0
"
&&
nzero
==
0
)
{
ch1
=
str1.Substring(temp
*
1
,
1
);
ch2
=
str2.Substring(i,
1
);
nzero
=
0
;
}
else
{
if
(str3
==
"
0
"
&&
nzero
>=
3
)
{
ch1
=
""
;
ch2
=
""
;
nzero
=
nzero
+
1
;
}
else
{
if
(j
>=
11
)
{
ch1
=
""
;
nzero
=
nzero
+
1
;
}
else
{
ch1
=
""
;
ch2
=
str2.Substring(i,
1
);
nzero
=
nzero
+
1
;
}
}
}
}
}
if
(i
==
(j
-
11
)
||
i
==
(j
-
3
))
{
//
如果该位是亿位或元位,则必须写上
ch2
=
str2.Substring(i,
1
);
}
str5
=
str5
+
ch1
+
ch2;
if
(i
==
j
-
1
&&
str3
==
"
0
"
)
{
//
最后一位(分)为0时,加上“整”
str5
=
str5
+
'
整
'
;
}
}
if
(num
==
0
)
{
str5
=
"
零元整
"
;
}
return
str5;
}
查看全文
相关阅读:
MySQL根据某一个或者多个字段查找重复数据的sql语句
常见面试题
技术总监工作内容
分布式锁三种实现
完美解决github访问速度慢
细说Redis
Mysql学习的核心问题
Java反射细说
Spring中的常见的9种设计模式
Mybatis相关问题
原文地址:https://www.cnblogs.com/conquer/p/1136948.html
最新文章
Json串转List问题
Oracle update或alter表被锁住的问题
update未走索引导致全表锁住
愿你慢慢长大
Oracle创建索引;查询索引
信息披露四要素
人生之道
人变强要经历八个阶段
怎样过好当下的生活
项目管理工具
热门文章
思考工具
保持这些重要的能力
知识储备
保持强工作能力
百果园
2020中国网络销售TOP100-百果园
行到水穷处,坐看云起时
长恨此身非我有,何时忘却营营
蔡志忠谈人生,谈努力
了凡四训
Copyright © 2011-2022 走看看