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相关推荐

  1. Java 描述将数字金额转换为中文大写

    Java 描述金额转换(数字转换成中文大写)         解题思路:把每一位转换成对应的大写,然后在不足地方补零,最后加上相应单位. 代码如下: import java.util.Scanner; ...

  2. 正则也很牛,把阿拉伯数字的金额转换为中文大写数字

    using System; using System.Text.RegularExpressions; class Program {   // 把阿拉伯数字的金额转换为中文大写数字   static ...

  3. 将金额转换为中文大写

    将金额转换为中文大写 思路 判断符号,0则直接返回 数字去掉点 00结尾的要加'整' 循环,从后面每次取一个数位上的值直到最前面, 若是非零则加上对应的数值和单位 若是零,判断上一个是否为零,是,则不 ...

  4. java将输入的整数转换为中文大写(查表)

    java将输入的整数转换为中文大写 例如: 输入:2135: 输出:零佰零拾零万贰仟壹佰叁拾伍元 package day10;import java.util.Scanner;/*** @author ...

  5. 【Java】将数字金额转换为大写中文金额

    package com.ruoyi.test;import org.apache.commons.lang3.StringUtils;/*** @Title: ConvertUpMoney* @Des ...

  6. Js实现金额转换为中文繁体

    转载自:https://www.zuojl.com/convert-menoy-chinese-use-js/ 叙述 在工作中经常会遇到需要将金额转换成繁体数组进行展示的情况,这个转换的过程可以后台进 ...

  7. java将输入的数字金额转换为中文大写金额

    前言 将输入的数字字符串中的每一个数字字符转换为对应的中文大写,例如12345转换为壹贰叁肆伍,再将此中文大写和对应的单位进行字符串的拼接并一起输出 输出结果为:零佰零拾壹万贰仟叁佰肆拾伍元 一.具体 ...

  8. Java学习笔记 实现阿拉伯数字(一亿以内)转换为中文繁体数字

    开始学习java编程,有看到一道题目(如题),便决定自己动手实现一下,发现什么事儿都是动手比想象的难好多,借鉴了网上高手的正则表达式,请各位高手指教. /*** Created by charlesz ...

  9. 阿拉伯数字金额转换为中文大写

    function digitUppercase(n) {var fraction = ['角', '分'];var digit = ['零', '壹', '贰', '叁', '肆','伍', '陆', ...

最新文章

  1. 技术图文:匿名方法是怎样演变为Lambda表达试的?
  2. pandas 增加行、列
  3. linux模糊查找子目录,linux怎么模糊查找一个文件
  4. const mysql_mysql – 为什么我在解释查询中读取const表后会注意到“不可能”?
  5. Tomcat--HTTPS的简单应用
  6. 程序员过关斩将--快速迁移10亿级数据
  7. 在大公司天天调参数,感觉快废了~
  8. python的turtle库是另外下载嘛吗_python—turtle库的基本介绍
  9. 利用os模块生成 文件夹和文件
  10. CMarkup类简介
  11. redis 数据类型详解 以及 redis适用场景场合
  12. java8 stream流操作的flatMap(流的扁平化)
  13. JDBC在jsp中的使用
  14. 如何用PS的量度标尺工具调整图片
  15. 用 Python 让 Excel 快速按条件筛选数据
  16. SQL学习笔记04 极客时间 SQL必知必会50讲
  17. 【教程】用微信创建生日提醒
  18. cad2017单段线_CAD将线段分成多段线的方法步骤
  19. python-根据语音识别让无字幕视频自动生成字幕,附srt字幕文件
  20. css渐变写法 从左到右颜色渐变

热门文章

  1. 【电子取证篇】司法鉴定检验标准次序
  2. SIGQUIT/SIGTERM/SIGINT/SIGKILL四种信号的区别
  3. ACM练级日志:带权并查集与食物链
  4. zabbix 利用snmp协议监控路由器和交换机设备端口流量
  5. k8s之持久化存储PV、PVC
  6. 深度学习中的消融实验指的是什么?
  7. 基于web的满意度调查问卷源码设计方案
  8. NPM node vue打包笔记
  9. Bias 和 Variance的计算
  10. java在字符串中“==”和“equals”的区别