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;
}
查看全文
相关阅读:
JDBC原理及常见错误分析
response,session,cookie
Activity LifeCycle (安卓应用的运行机制)
简单的接口取数据渲染到图表
图表里面双重下拉框进行判断
用js方式取得接口里面json数据的key和value值
一个div多个图表共用一个图例
一个页面多图表展示(四个div的方式)
vue组件之子组件和父组件
根据判断对颜色进行改变
原文地址:https://www.cnblogs.com/yangbin1005/p/1156988.html
最新文章
论文阅读笔记三:R2CNN:Rotational Region CNN for Orientation Robust Scene Text Detection(CVPR2017)
python 利用split读取文本文件中每一行的数字并保存至相应文件夹
数据结构c++实现代码-链表
软件需求分析阅读笔记2
Form的Load事件的添加
第四周学习进度总结
编程操作hdfs文件
软件需求分析阅读笔记1
Ubuntu上的Hbase集群搭建
Linux 删除文件夹和文件的命令
热门文章
使用vmware+Ubuntu搭建hadoop集群
在Ubuntu上搭建Zookeeper集群
第三周学习进度总结
小学数学测试题demo
Servlet生命周期及使用
MVC模式与案例
JavaBean实操代码
变量 的修饰符不合法;只允许使用“终态”
JSP 访问数据库和 Javabean
PreparedStatement 和 Statement 的区别(推荐使用PreparedStatement)
Copyright © 2011-2022 走看看