[分享]整数转中文,java实现

这里分享前几天写的一小段程序,把整数(千亿以内)转成中文的,这里用java实现

//一、二、三、四、五、六、七、八、九、十、百、千、万、亿
	private static char[]number_simple=new char[]{'零','一','二','三','四','五','六','七','八','九'};
	private static char[]unit1=new char[]{' ','十','百','千'};
	private static char[]unit2=new char[]{' ','万','亿'};
	/**
	 * 用于器材的序号,小于1000亿
	 * 
	 * 如果你能做到一个子方案要1000亿个器材,那我也不再写代码了
	 * 再上去,估计是量子物理的时代了,就不是这样写代码了
	 * @param num
	 * @return
	 */
	public String intToSimplifiedChinese(int num){
		char[]nums=String.valueOf(num).toCharArray();
		boolean hasZero=false;
		StringBuffer ch=new StringBuffer();
		int i=-1;
		for (int j = nums.length-1;j >=0;j--) {
			i++;
			if (nums[i]=='0') {
				hasZero=true;
				continue;
			}else{
				if (hasZero) {
					ch.append(number_simple[0]);
				}
				if (j%4==0) {
					ch.append(number_simple[nums[i]-'0']).append(unit1[j%4]).append(unit2[j/4]);
				}else{
					ch.append(number_simple[nums[i]-'0']).append(unit1[j%4]);
				}
			}
		}
		return ch.toString();
	}

 

» 本文链接地址:https://www.xidige.com/929

打开支付宝扫一扫,即可进行扫码打赏哦

扫码支持
扫码打赏,你说多少就多少

标签:

分享到:

扫一扫 在手机阅读、分享本文

上一篇: 下一篇:
评论区1人评论947人参与
  1. zengda 2016年5月16日 下午5:59  回复

    研究研究,学习学习。

电子邮件地址不会被公开。 必填项已用*标注

*

loading

赞助商广告