zoukankan
html css js c++ java
金额小写转换为大写
/**/
///
<summary>
///
转换人民币大小金额
///
</summary>
///
<param name="num">
金额
</param>
///
<returns>
返回大写形式
</returns>
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;
}
查看全文
相关阅读:
Python文件File方法
python的slice notation的特殊用法
函数
字典
python 笔记7
列表解析与生成器
[CenOS7][Mac] MAC环境中dubbo连接zookeeper超时
[JAVA][Thread] 实现Runnable接口和继承Thread类创建线程哪种方式更好?
[Java] String字符常量类型作为参数传递的一些问题
[JAVA]hashCode()和identityHashCode()的区别
原文地址:https://www.cnblogs.com/yangbin1005/p/1156988.html
最新文章
信息系统和信息系统集成的概念
系统的基本概念
信息的基本概念
你知道IEEE、IETF、W3C是什么吗?
你知道工作绩效数据、工作绩效信息和工作绩效报告的区别吗?
项目管理十大知识领域之项目资源管理
项目管理十大知识领域之项目质量管理
项目管理十大知识领域之项目成本管理
项目管理十大知识领域之项目进度管理
通用应用框架
热门文章
2. 通用基础技术框架搭建
架构设计随笔
1. 通用基础技术框架设计
mono for android 2 (通过Hello,World ,熟悉项目)
mono for android 1 (环境搭建)
why is mono?[前言]
gogs的使用
python 日志分析
Python 中的正则表达式的相关函数(一)
Python中正则表达式
Copyright © 2011-2022 走看看