中文转阿拉伯数字

题目

将类似于”二十五万五百亿三千零八万一千零三十五”的中文数字转换成对应的阿拉伯数字

分析

一些基本假设:

  1. 中文数字中,字符可以分为数字单位(或者叫数量级),比如一、二、三这种是数字,十、百、千、万这种是单位。
  2. 必须以数字开头,单位不能作为开头,但是有个例外情况, 虽然是个单位,但是 可以作为开头,比如十六万。
  3. 的时候可以略过

corner case:

  1. 中文表示习惯中,二放在开头的时候,会用
  2. 既是单位又是数字。

解法1

解法2

思路

按照单位,把字符串从左到右切分。

参考资料

  1. 中文数字和阿拉伯数字的转换 | Haibo Yu
  2. 把中文表示的数字转成阿拉伯数字 - java_衣衫破旧 歌声温柔-CSDN博客