1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 将小写的金额转换成中文的大写金额

将小写的金额转换成中文的大写金额

时间:2023-05-24 12:09:31

相关推荐

将小写的金额转换成中文的大写金额

/**

* 作者:陈伟兵

* MSN: cwbnig@

* Q Q: 56235312

* 信箱:chenweibing1982@

*/

import java.lang.Math;

/**

* 将小写的金额转换成中文的大写金额

* 如“5460”转换成“伍千肆百陆十零”

* 本程序暂时对单位只支持到亿

*/

public class DateToChinese

{

public static void main(String[] args)

{

//要转换的小写的金额数字

int number = 5460;

//用于最终输出内容的字符串

String output = "";

//大写的中文数字

String[] chineseNumber = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖", "拾" };

//数字的中文单位(十,百,千,万,十万,百万,千万,亿,十亿,百亿,千亿,万亿)

String[] chineseUnit = {"十","百","千","万","十","百","千","亿","十","百","千","万"};

//基数

int a = 1;

//在每个中文单位上的数字

int b;

//中文单位的数组的索引

int temp;

//找到最大的基数,举例:number=5460,那么最大基数是1000

for (int i = 1; i < number; i *= 10)

{

a = i;

}

//只要基数大于1,就反复执行循环,直到基数小于1为止

while (a >= 1)

{

//从整个数字左边起,求第一个单位上的数字,举例:number=5460,那么b=5

b = number/a;

//求出当前基数对应的中文单位,举例:a=1000,那么b=3

temp=(int)Math.log10((double)(a));

number = number%a;

a = a/10;

//如果中文单位索引大于0,则取出中文单位

if(temp>0)

{

output = output + chineseNumber[b]+chineseUnit[temp-1];

}

else

{

output = output + chineseNumber[b];

}

}

//输出转换后的中文的大写金额

System.out.println(output);

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。