前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java中文数字转阿拉伯数字

Java中文数字转阿拉伯数字

原创
作者头像
martinzh7
修改2020-02-21 14:13:39
3.5K0
修改2020-02-21 14:13:39
举报
文章被收录于专栏:百分之一的灵感
代码语言:javascript
复制
/**
	 * 中文数字转为阿拉伯数字
	 * @param zhNumStr 中文数字
	 * @return 阿拉伯数字
	 */
	public static int zh2arbaNum(String zhNumStr) {
		Stack<Integer> stack = new Stack<>();
		String numStr = "一二三四五六七八九";
		String unitStr = "十百千万亿";
		
		String[] ssArr = zhNumStr.split("");
		for (String e : ssArr ) { 
			int numIndex = numStr.indexOf(e);
			int unitIndex = unitStr.indexOf(e);
			if (numIndex != -1 ) {
				stack.push(numIndex + 1);
			} else if (unitIndex != -1) {
				int unitNum = (int)Math.pow(10, unitIndex + 1);
				if (stack.isEmpty()) {
					stack.push(unitNum);
				} else {
					stack.push( stack.pop() * unitNum);
				}
			}
		};
		
		return stack.stream().mapToInt(s-> s).sum();
	}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档