首页 > 学院 > 开发设计 > 正文

金额转换,阿拉伯数字的金额转换成 面试编程题

2019-11-08 18:45:21
字体:
来源:转载
供稿:网友
package Test;public class Test {	 public static void main(String[] args){         //测试         System.out.PRintln(convertNumber(3500908));         System.out.println(convertNumber(101000001010L));	 }	 public static String convertNumber(long number){         //定义字符数组存储中国数字写法格式         final char[] chineseNumber = new char[]         { '零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖' };         //定义字符数组存储中国数字的单位         final char[] units = new char[]         { '圆', '拾', '佰', '仟', '万', '拾', '佰', '仟', '亿', '拾', '佰', '仟'};         //定义一个字符串缓冲区对字符进行存储         StringBuilder sb = new StringBuilder();         int index=0;         long lastNumber = 0;         while(number!=0){                 lastNumber = number%10;                 sb.insert(0,units[index++]);                 sb.insert(0,chineseNumber[(int) lastNumber]);                 number=number/10;         }         //去零操作,通过正则表达式        return sb.toString().replaceAll("零[拾佰仟]","零").replaceAll("零+亿","亿").replaceAll("零{4}万","零").         replaceAll("零+万","万").replaceAll("零+圆","圆").replaceAll("零+","零")+"整"; }}
上一篇:逆波兰表达式问题

下一篇:线性回归

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表