java将金额数字转换成对应的汉字
2017-02-23 20:39
429 查看
记得这是一道面试题,今天中午花时间写了下,贴代码:
import java.util.Scanner; public class NumberToWord { private static String input; private static Scanner sc; private static String[] num = {"零","一","二","三","四","五","六","七","八","九","十"}; private static String[] unit = {"","十","百","千","万","十","百","千","亿"}; private static String[] result; private static void input() { System.out.println("请输入一串数字最多9位"); sc = new Scanner(System.in); input = sc.nextLine(); } public static String transfer(String input) { String out = ""; result = new String[input.length()]; for(int i=0; i<result.length; i++) { result[i] = String.valueOf(input.charAt(i)); } for(int i=0; i<result.length; i++) { int back; if(!result[i].equals("0")) { back = result.length - i - 1; out += num[Integer.parseInt(result[i])]; out += unit[back]; } else { //最后一位不考虑 if(i == (result.length - 1)) { } else { //九位数,千万,百万,十万,万位都为0,则不加“万” if(result.length == 9 && result[1].equals("0") && result[2].equals("0") && result[3].equals("0") && result[4].equals("0")) { } else { //大于万位,连着的两个数不为0,万位等于0则加上“万” if(result.length > 4 && !result[i+1].equals("0") && result[result.length-5].equals("0")){ out += unit[4]; } } //万位之后的零显示 if(i == result.length-4 && !result[i+1].equals("0")) { out += num[0]; } } } } return out; } public static void main(String[] args) { input(); System.out.println(transfer(input)); } }
运行结果:
请输入一串数字最多9位 10002345 一千万二千三百四十五
请输入一串数字最多9位 972364521 九亿七千二百三十六万四千五百二十一
相关文章推荐
- java实现数字金额转换成汉字大写金额
- 把阿拉伯数字转换为大写汉字[对应金额]
- Java中实现数字金额到中文大写字符的转换!!
- 阿拉伯数字金额转换为中文汉字金额(补全)
- 《java----实现汉字转换为对应的Unicode码》---批量处理,将要处理的汉字放在chines.txt文件中
- Java: 把金额转换为汉字的类
- java把金额转换成汉字大写金额
- 数字到大写金额的转换Java
- JS数字金额转换为货币汉字形式
- java实现金额数字转换为中文大写
- 写一个程序,语言不限,能将人民币金额从阿拉伯数字转换为大写汉字表示。例如,把1234.56转换为壹仟贰佰叁拾肆圆零伍角陆分。
- java 数字金额转中文(只实现整数部分转换)
- Java 数字转换成汉字
- 使用 JAVA 将数字金额转换成大写中文金额
- JAVA实现 输入一串数字,转换成汉字显示
- 数字金额转换汉字金额
- Java中实现数字金额到中文大写字符的转换!! 选择自 netfalcon 的 Blog
- javaweb中把数字转换成对应图片的方法
- Java中实现数字金额到中文大写字符的转换!!
- Java 把数字串转换为对应汉字输出