将阿拉伯数字转换成中文数字,大家可以看我的测试数据,应该没有BUG。
/**
* 将数字转换成中文数字
* @author Prosper
*
*/
public class IntToCN
{
public static void main(String[] args)
{
int ri = ((Double)(Math.random()*10)).intValue();
System.out.println(ri+" : "+intToZH(ri));
ri = ((Double)(Math.random()*100)).intValue();
System.out.println(ri+" : "+intToZH(ri));
ri = ((Double)(Math.random()*1000)).intValue();
System.out.println(ri+" : "+intToZH(ri));
ri = ((Double)(Math.random()*10000)).intValue();
System.out.println(ri+" : "+intToZH(ri));
ri = ((Double)(Math.random()*100000)).intValue();
System.out.println(ri+" : "+intToZH(ri));
ri = ((Double)(Math.random()*1000000)).intValue();
System.out.println(ri+" : "+intToZH(ri));
ri = ((Double)(Math.random()*10000000)).intValue();
System.out.println(ri+" : "+intToZH(ri));
ri = ((Double)(Math.random()*100000000)).intValue();
System.out.println(ri+" : "+intToZH(ri));
ri = ((Double)(Math.random()*1000000000)).intValue();
System.out.println(ri+" : "+intToZH(ri));
ri = ((Double)(Math.random()*10000000000l)).intValue();
System.out.println(ri+" : "+intToZH(ri));
}
/**
* 将数字转换成中文数字
* @author Prosper
*
*/
public static String intToZH(int i)
{
String[] zh = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};
String[] unit = {"", "十", "百", "千", "万", "十", "百", "千", "亿", "十"};
String str = "";
StringBuffer sb = new StringBuffer(String.valueOf(i));
sb = sb.reverse();
int r = 0;
int l = 0;
for (int j = 0; j < sb.length(); j++)
{
/**
* 当前数字
*/
r = Integer.valueOf(sb.substring(j, j+1));
if (j != 0)
/**
* 上一个数字
*/
l = Integer.valueOf(sb.substring(j-1, j));
if (j == 0)
{
if (r != 0 || sb.length() == 1)
str = zh[r];
continue;
}
if (j == 1 || j == 2 || j == 3 || j == 5 || j == 6 || j == 7 || j == 9)
{
if (r != 0)
str = zh[r] + unit[j] + str;
else if (l != 0)
str = zh[r] + str;
continue;
}
if (j == 4 || j == 8)
{
str = unit[j] + str;
if ((l != 0 && r == 0) || r != 0)
str = zh[r] + str;
continue;
}
}
return str;
}
}
分享到:
相关推荐
数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序...
将阿拉伯数字转化成汉字金钱 如1234.45转化为壹仟贰佰叁拾肆元肆角伍分
java实现阿拉伯数字 转换为 汉字数字 算法
人民币数字转换成汉字大写 android Java 运行效率
1、该dll能将阿拉伯数字转换为汉字数字或者中文大写金额。例如1234567.07可转换为: “一百二十三万四千五百六十七点零七”或“壹佰贰拾叁万肆仟伍佰陆拾柒圆零柒分”。 目前支持正负千亿以内(整数部分不超过12位)...
mysql 函数,可以将数字转换为中文大写形式。大写数字是中国特有的数字书写方式,利用与数字同音的汉字取代数字,以防止数目被涂改。 据考证,大写数字最早是由武则天发明,后经朱元璋改进完善。
在android中,有时候会被要求讲阿拉伯数字转换为中文数字,例如书籍的页码。这里特地优化了转换过程
oracle数字转换中文,用我们更好地开发财务模块
cout输入一个阿拉伯数字:"; cin>>nNumber; char str[]={"零"}; switch(nNumber) { case 0: { strcpy(str,"零"); break; } case 1: { strcpy(str,"一"); break; } case 2: { ...
将数字日期转换成中文日期的工具类。eg:2014-07-15会转换成二零一四年七月十五日。
js将数字转换成中文 function transform(tranvalue){ try{ var i=1; var dw2 = new Array("","万","亿");//大单位 var dw1 = new Array("拾","佰","仟");//小单位 var dw = new Array("零","壹","贰",...
自己编的一个小小的程序,可以将数字转换成汉字,用C语言做的
阿拉伯数字转换成中文数字, 例如: 10转换成十,111转换成一百一十一 最高支持的数字单位亿, 再大的话可能需要自己修改
js实现将阿拉伯数字转换为中文大写数字。 js实现将阿拉伯数字转换为中文大写数字。
Java设计输入“12345”显示“一万两千三百四十五” 输入“1000”显示“一千”
将阿拉伯数字转换为大写数字,主要解决小数点问题,
人民币数字转换成汉字,小数点后面保留两位数字,保存到分
把阿拉伯数字转为汉字写法比如123456789转化为零壹贰叁肆伍陆柒捌玖,以及几百几千几万的数字都可以转化
周末在家,写了个小程序,用于将阿拉伯数字转换化大写中文。程序没经过任何优化,出没经过详细的测试,挂到网上,方便将来有需要的时候直接拿来用。 #!/usr/bin/python #-*- encoding: utf-8 -*- import types ...
该dll能将阿拉伯数字转换为汉字数字。例如1234567.009可转换为: 一百二十三万四千五百六十七点零零九。目前支持正负千亿以内(整数部分不超过12位)的整数和小数的转化。 支持c#语言