求教!java代码实现问题!西文数字转中文
发布网友
发布时间:2024-10-17 20:35
我来回答
共2个回答
热心网友
时间:2024-12-02 13:34
一开始看你这个逻辑,看的累死我了,总算看懂了……,插入一行代码就可以,注意看下面:
//...代码省略
while (ms.indexOf("零仟") != -1) {
ms.replace(ms.indexOf("零仟"), ms.indexOf("零仟") + 2, ZERO);
}
ms = new StringBuffer(ms.toString().replaceAll("零万", "零万零").replaceAll("零亿", "零亿零")); // !!!!!!!!注意,这行是重点加入的,其他都不变即可
while (ms.indexOf("零万") != -1) {
ms.replace(ms.indexOf("零万"), ms.indexOf("零万") + 2, "万");
}
//...代码省略
亲测:
壹亿
壹拾万零壹拾亿零壹拾万零壹拾
壹拾贰万叁仟肆佰伍拾陆亿柒仟捌佰玖拾万零壹仟贰佰叁拾肆
壹拾万零壹仟
壹仟零壹拾
热心网友
时间:2024-12-02 13:34
我之前用C++写过这个题目,我的思路是用一个switch case语句,对数字的位数判断,然后逐一处理,很多位都是复制粘贴,特别的情况单独处理,但感觉你这方法也很好,很简洁