快速业务通道

java实现小写金额转成大写算法 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20

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

时间:2011-01-25

我用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; }

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号