java实现小写金额转成大写算法

我用C++写过一个,代码不在身边.

不过可以提示一下,将金额4位一分,比如1234567可以拆分为1234和567.另外,数字中间有零的话必须写零,但要注重多个零的情况.具体的怎么写你可以问问做财务的人.

---------------------------------------------------------------

我以前写过

说一下思路

先把数字分成整数小数

假如整数100909应该是十万零九百零九

有数组

一个:零,一,二,三,四,五,六,七,八,九

一个:元,角,分,厘

一个:元,十,百,千,万,十,百,千,亿

然后依次去取就可以了

100909

上面会拼出

一十零零九百零九元

你碰到万位补万,两个零变成一个

---------------------------------------------------------------

有个比较笨点的:

判定每个字符,然后条件if(c.equals("1")){.....}

依此类推。。。。

---------------------------------------------------------------

http://www.csdn.net/Develop/Read_Article.asp?Id=15823

---------------------------------------------------------------

从CSDN上整理出五个方案,请参考:

1、(java)

public static String numtochinese(String input){
String s1="零壹贰叁肆伍陆柒捌玖";
String s4="分角整元拾佰仟万拾佰仟亿拾佰仟";
String temp="";
String result="";
if (input==null) return "输入字串不是数字串只能包括以下字符(´0´~´9´,´.´),输入字串最大只能精确到仟亿,小数点只能两位!";
temp=input.trim();
float f;
try{
f=Float.parseFloat(temp);
}catch(Exception e){return "输入字串不是数字串只能包括以下字符(´0´~´9´,´.´),输入字串最大只能精确到仟亿,小数点只能两位!";}
int len=0;
if (temp.indexOf(".")==-1) len=temp.length();
else len=temp.indexOf(".");
if(len>s4.length()-3) return("输入字串最大只能精确到仟亿,小数点只能两位!");
int n1,n2=0;
String num="";
String unit="";
for(int i=0;i<temp.length();i++){
if(i>len+2){break;}
if(i==len) {continue;}
n1=Integer.parseInt(String.valueOf(temp.charAt(i)));
num=s1.substring(n1,n1+1);
n1=len-i+2;
unit=s4.substring(n1,n1+1);
result=result.concat(num).concat(unit);
}
if ((len==temp.length()) ¦ ¦(len==temp.length()-1)) result=result.concat("整");
if (len==temp.length()-2) result=result.concat("零分");
return result;
}

时间: 2024-11-03 06:52:33

java实现小写金额转成大写算法的相关文章

用JS将小写金额转成大写

js|大写|金额|小写 比较经典的代码! 保留2位小数,否则会出错! 整数金额必须为格式:12345.00 否则会出错! 如果结合ASP的FormatCurrency,可解决这个问题!  <script language="JavaScript" type="text/JavaScript">function Arabia_to_Chinese(Num){ for(i=Num.length-1;i>=0;i--) {  Num = Num.repl

javascript-想要实现的是小写金额转换成大写金额

问题描述 想要实现的是小写金额转换成大写金额 我想要实现的是小写金额转换成大写金额,下边是我在网上找到的JS代码,我想问的是,我是不是只要将"numberValue"我想转变的小写金额就可以啦,求大神指导,我的需求就是把表格中一项"大写金额"变成大写.其实大写金额就是JSP页面上ruKu.shiJiJinE的值,请问各位大神怎么写 <TR> <TD align="left" class="tdp">规格

javascript-实现的是小写金额转换成大写金额,求求大神啦,在线等

问题描述 实现的是小写金额转换成大写金额,求求大神啦,在线等 我想要实现的是小写金额转换成大写金额,下边是我在网上找到的JS代码,我想问的是,我是不是只要将"numberValue"我想转变的小写金额就可以啦,求大神指导,我的需求就是把表格中一项"大写金额"变成大写.其实大写金额就是JSP页面上ruKu.shiJiJinE的值,请问各位大神怎么写 <TR> <TD align="left" class="tdp&quo

[经典面试题]将字符串里的小写字母转换成大写的。 要求不通过比较

[题目] 将字符串里的小写字母转换成大写的. 要求不通过比较 --------腾讯校招 [思路] a~z的ascii码:97~122 也就是:1100001~1111010 A~Z的ascii码:65~90 也就是: 1000001~1011010 通过判断从低位数第五位是否是0,1而得到是小写字母还是大写字母 [代码] /********************************* * 日期:2014-11-21 * 作者:SJF0115 * 题目: 将字符串里的小写字母转换成大写的.

Excel单元格里的小写如何转成大写

  1.启动Excel2007,打开表格我们会发现单元格里的内容都是小写的,这个时候我们可以点击单元格,然后在单元格里输入"=upper(D2)". 2.这个时候D2单元格里的小写就转换成大写啦. 3.下拉复制单元格格式我们就可以快速的将剩余的内容里的小写字母转成大写字母.

asp.net(vb)实现金额转换成大写的函数_实用技巧

复制代码 代码如下: ''' <summary> ''' 将数据转换为Double数字 ''' </summary> ''' <param name="Obj"></param> ''' <returns></returns> ''' <remarks></remarks> Public Shared Function todbl(ByVal Obj As Object) As Double

vbscript下将小写金额转成大写金额

vbscript|大写|金额|小写 <%'--------------------数字向汉字转换的函数集合  ------------------------'作者:northsnow    '日期:20061007'调用方法:  a=convertNumToStr("1234.5678")'功能: 将这样的串  1234.5678 转换成 壹仟贰佰叁拾肆元伍角陆分 ''将一串数字转成对应的汉字 Function convertNumToStr()function convert

将小写金额转换为中文大写的SQL函数

大写|函数|金额|小写|中文|转换 CREATE FUNCTION [dbo].[f_num_chn] (@num numeric(14,2))RETURNS varchar(100) WITH ENCRYPTIONASBEGIN--版权所有:pbsql  DECLARE @n_data VARCHAR(20),@c_data VARCHAR(100),@n_str VARCHAR(10),@i int   SET @n_data=RIGHT(SPACE(14)+CAST(CAST(ABS(@n

将小写金额转换为英文大写的SQL函数

大写|函数|金额|小写|转换 CREATE FUNCTION [dbo].[f_num_eng] (@num numeric(15,2))RETURNS varchar(400) WITH ENCRYPTIONASBEGIN--All rights reserved. pbsql  DECLARE @i int,@hundreds int,@tenth int,@one int  DECLARE @thousand int,@million int,@billion int  DECLARE @