java 阿拉伯数字书写的金额,转换为中文形式 初步结果 不知有无bug
import java.util.Scanner;
public class Exp4_6 {static String[] A = { "亿", "拾", "佰", "仟", "万", "拾", "佰", "仟"};//一次性写完 世上总有简单和谐的算法static String[] B = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖", "拾" };static String changeZ(String s) {//整数部分转换String ans="";for (int i = 0; i < s.length(); i++) {int n = s.charAt(i) - '0';if(s.length() - i - 1==0) {//i=s.length() - i 最后一位 个位ans=ans+(B[n]+"");//确实是0 即个位 当然不能是亿了}else {ans=ans+(B[n] + A[(s.length() - i - 1)%8]);}}ans=ans+"圆";//replaceAll都替换 replace替换第一次找到的//去多余的零ans = ans.replaceAll("零[拾佰仟]","零").replaceAll("零+亿","亿").replaceAll("零{4}万", "").replaceAll("零+万","万").replaceAll("零+圆","圆").replaceAll("零+", "零").replaceAll("零壹拾", "零拾");//最后为拾的省略if(ans.equals("壹拾圆"))//暴力解决 比较大小千万别用==return "拾圆";return ans;
}static String changeX(String s) {//小数部分转换String ans="";if (s.equals("0")||s.equals("00")) {// 小数位全为0 不能用==return "整";}if (s.length() == 2) {ans=ans+(B[s.charAt(0) - '0'] + "角");ans=ans+(B[s.charAt(1) - '0'] + "分");} else {ans=ans+(B[s.charAt(0) - '0'] + "角");}ans=ans.replaceAll("零角", "零").replaceAll("零分", "");return ans;}public static void main(String[] args) {Scanner sc = new Scanner(System.in);String str = sc.nextLine();String[] S = str.split("\\.");if (S.length == 1) {//没有小数点System.out.println(changeZ(S[0])+"整");} else {System.out.println(changeZ(S[0])+changeX(S[1]));}sc.close();}
}
java 阿拉伯数字书写的金额,转换为中文形式 初步结果 不知有无bug相关推荐
- Java 描述将数字金额转换为中文大写
Java 描述金额转换(数字转换成中文大写) 解题思路:把每一位转换成对应的大写,然后在不足地方补零,最后加上相应单位. 代码如下: import java.util.Scanner; ...
- 正则也很牛,把阿拉伯数字的金额转换为中文大写数字
using System; using System.Text.RegularExpressions; class Program { // 把阿拉伯数字的金额转换为中文大写数字 static ...
- 将金额转换为中文大写
将金额转换为中文大写 思路 判断符号,0则直接返回 数字去掉点 00结尾的要加'整' 循环,从后面每次取一个数位上的值直到最前面, 若是非零则加上对应的数值和单位 若是零,判断上一个是否为零,是,则不 ...
- java将输入的整数转换为中文大写(查表)
java将输入的整数转换为中文大写 例如: 输入:2135: 输出:零佰零拾零万贰仟壹佰叁拾伍元 package day10;import java.util.Scanner;/*** @author ...
- 【Java】将数字金额转换为大写中文金额
package com.ruoyi.test;import org.apache.commons.lang3.StringUtils;/*** @Title: ConvertUpMoney* @Des ...
- Js实现金额转换为中文繁体
转载自:https://www.zuojl.com/convert-menoy-chinese-use-js/ 叙述 在工作中经常会遇到需要将金额转换成繁体数组进行展示的情况,这个转换的过程可以后台进 ...
- java将输入的数字金额转换为中文大写金额
前言 将输入的数字字符串中的每一个数字字符转换为对应的中文大写,例如12345转换为壹贰叁肆伍,再将此中文大写和对应的单位进行字符串的拼接并一起输出 输出结果为:零佰零拾壹万贰仟叁佰肆拾伍元 一.具体 ...
- Java学习笔记 实现阿拉伯数字(一亿以内)转换为中文繁体数字
开始学习java编程,有看到一道题目(如题),便决定自己动手实现一下,发现什么事儿都是动手比想象的难好多,借鉴了网上高手的正则表达式,请各位高手指教. /*** Created by charlesz ...
- 阿拉伯数字金额转换为中文大写
function digitUppercase(n) {var fraction = ['角', '分'];var digit = ['零', '壹', '贰', '叁', '肆','伍', '陆', ...
最新文章
- 技术图文:匿名方法是怎样演变为Lambda表达试的?
- pandas 增加行、列
- linux模糊查找子目录,linux怎么模糊查找一个文件
- const mysql_mysql – 为什么我在解释查询中读取const表后会注意到“不可能”?
- Tomcat--HTTPS的简单应用
- 程序员过关斩将--快速迁移10亿级数据
- 在大公司天天调参数,感觉快废了~
- python的turtle库是另外下载嘛吗_python—turtle库的基本介绍
- 利用os模块生成 文件夹和文件
- CMarkup类简介
- redis 数据类型详解 以及 redis适用场景场合
- java8 stream流操作的flatMap(流的扁平化)
- JDBC在jsp中的使用
- 如何用PS的量度标尺工具调整图片
- 用 Python 让 Excel 快速按条件筛选数据
- SQL学习笔记04 极客时间 SQL必知必会50讲
- 【教程】用微信创建生日提醒
- cad2017单段线_CAD将线段分成多段线的方法步骤
- python-根据语音识别让无字幕视频自动生成字幕,附srt字幕文件
- css渐变写法 从左到右颜色渐变