zoukankan
html css js c++ java
大写金额转换成小写
Q:
如何将大写金额转换成小写?
A:简单点,格式比较严格
private
float
getMoney(
string
strBig)
...
{
string
strExp
=
""
;
string
[] arrBig
=
new
string
[]
...
{
"
整
"
,
""
,
"
零
"
,
"
+0
"
,
"
壹
"
,
"
+1
"
,
"
贰
"
,
"
+2
"
,
"
叁
"
,
"
+3
"
,
"
肆
"
,
"
+4
"
,
"
伍
"
,
"
+5
"
,
"
陆
"
,
"
+6
"
,
"
柒
"
,
"
+7
"
,
"
捌
"
,
"
+8
"
,
"
玖
"
,
"
+9
"
,
"
分
"
,
"
*0.01
"
,
"
角
"
,
"
*0.1
"
,
"
元
"
,
"
*1
"
,
"
拾
"
,
"
*10.00
"
,
"
佰
"
,
"
*100.00
"
,
"
仟
"
,
"
*1000.00
"
,
"
万
"
,
"
*10000.00
"
,
"
亿
"
,
"
*100000000.00
"
}
;
for
(
int
i
=
0
; i
<
strBig.Length; i
++
)
...
{
for
(
int
j
=
0
; j
<
arrBig.Length
-
1
;j
+=
2
)
...
{
if
(arrBig[j]
==
strBig[i].ToString())
...
{
strExp
+=
arrBig[j
+
1
].ToString();
continue
;
}
}
}
object
ret
=
new
DataTable().Compute(strExp,
""
);
return
float
.Parse(ret.ToString());
//
Console.WriteLine(getMoney("玖仟零贰拾壹元陆角肆分"));
//
Console.WriteLine(getMoney("玖仟万亿零贰拾壹元陆角肆分"));
}
伴水兄的这个较狠
public
double
DecodeMoneyCn(
string
AText)
...
{
AText
=
AText.Replace(
"
万万
"
,
"
亿
"
);
AText
=
AText.Replace(
"
点
"
,
"
元
"
);
AText
=
AText.Replace(
"
块
"
,
"
元
"
);
AText
=
AText.Replace(
"
毛
"
,
"
角
"
);
double
vResult
=
0
;
double
vNumber
=
0
;
//
当前数字
double
vTemp
=
0
;
int
vDecimal
=
0
;
//
是否出现小数点
foreach
(
char
vChar
in
AText)
...
{
int
i
=
"
零一二三四五六七八九
"
.IndexOf(vChar);
if
(i
<
0
) i
=
"
零幺两三四五六七八九
"
.IndexOf(vChar);
if
(i
<
0
) i
=
"
零壹贰叁肆伍陆柒捌玖
"
.IndexOf(vChar);
if
(i
>
0
)
...
{
vNumber
=
i;
if
(vDecimal
>
0
)
...
{
vResult
+=
vNumber
*
Math.Pow(
10
,
-
vDecimal);
vDecimal
++
;
vNumber
=
0
;
}
}
else
...
{
i
=
"
元十百千万亿
"
.IndexOf(vChar);
if
(i
<
0
) i
=
"
整拾佰仟万亿
"
.IndexOf(vChar);
if
(i
==
5
) i
=
8
;
if
(i
>
0
)
...
{
if
(i
>=
4
)
...
{
vTemp
+=
vNumber;
if
(vTemp
==
0
) vTemp
=
1
;
vResult
+=
vTemp
*
Math.Pow(
10
, i);
vTemp
=
0
;
}
else
vTemp
+=
vNumber
*
Math.Pow(
10
, i);
}
else
...
{
i
=
"
元角分
"
.IndexOf(vChar);
if
(i
>
0
)
...
{
vTemp
+=
vNumber;
vResult
+=
vTemp
*
Math.Pow(
10
,
-
i);
vTemp
=
0
;
}
else
if
(i
==
0
)
...
{
vTemp
+=
vNumber;
vResult
+=
vTemp;
vDecimal
=
1
;
vTemp
=
0
;
}
}
vNumber
=
0
;
}
}
return
vResult
+
vTemp
+
vNumber;
}
private
void
button2_Click(
object
sender, EventArgs e)
...
{
string
[] vTestText
=
...
{
"
十二点五六
"
,
"
一亿零一万零五
"
,
"
四万万
"
,
"
九十八亿七千六百五十四万三千二百一十
"
,
"
五元一角四分
"
,
"
壹佰元整
"
,
"
三千五百万
"
,
"
九块二毛
"
}
;
foreach
(
string
vText
in
vTestText)
...
{
Console.WriteLine(
"
DecodeMoneyCn("{0}")={1}
"
, vText,
DecodeMoneyCn(vText));
}
}
查看全文
相关阅读:
mongodb下载、安装、配置服务启动、及可视化工具下载、使用
Selenium2(webdirver)入门之环境搭建(Java版)
xampp默认mysql数据库root密码的修改
sqoop导出工具
sqoop导入数据到hive---2
luigi学习4-构建工作流
luigi学习3-使用luigid
scala学习笔记2
luigi学习-luigi的配置文件
luigi学习2-在hadoop上运行Top Artists
原文地址:https://www.cnblogs.com/cl1024cl/p/6204981.html
最新文章
scrollLeft,scrollWidth,clientWidth,offsetWidth 可实现导航栏固定不动(冻结)的效果
开发过程中遇到的浏览器兼容的问题总结
微信、微博、qq图标服务实现
dl dd dt与ul li
c# 文件日志处理 需要log4net配置
c# 处理js序列化时 datetime返回UTC格式的问题
c# JScriptProvider包装
c# 模拟POST上传文件到服务器
c# http操作类
c# html内容处理类
热门文章
c# 加密工具类
c# 发送邮件
c# 文件/文件夹操作
c# DataTable 数据集处理DataTableHandler
linux之cp/scp命令+scp命令详解
Mysql 存储过程基本语法
MySQL把多个字段合并成一条记录的方法
mysql中event的用法详解
uniq,sort,
Mongodb数据导出工具mongoexport和导入工具mongoimport介绍
Copyright © 2011-2022 走看看