金额转换,阿拉伯数字转换成中国传统形式
import java.util.Scanner;public class Test9 {/*** 9、金额转换,阿拉伯数字转换成中国传统形式。* 例如:101000001010 转换为 壹仟零壹拾亿零壹仟零壹拾圆整 * 分析问题:a、小数点之前为整数,小数点后只有两位,为角分。b、小数点之前单位依次为 圆,拾,佰,仟,万,拾万,佰万,仟万,亿……c、每位的数字对应为:零、壹、贰、叁、肆、伍、陆、柒、捌、玖。 思路:a、用两个数组,capNumber[10]、分别存储零、壹、贰、叁、肆、伍、陆、柒、捌、玖。unit[] 0,圆,拾,佰,仟,万,亿b、针对整数部分,从拾开始除,余数转换为汉字,取对应余数值得数组array1[余数]所对应的值。取得到的商,并记录除的次数。次数对应为array[次数]的汉字。拼接。c、反复第二步,直到商为0。d、其中余位为0时特殊处理。e、小数点后统一处理两次。举例: 5667234。5667234/10 商566723 余4 除次数为1 capNumber[4]+unit[1]=肆圆566723/10 商56672 余3 除次数为2 capNumber[3]+unit[2]=叁拾56672/10 商5667 余2 除次数为3 capNumber[2]+unit[3]=贰佰5667/10 商566 余7 除次数为4 capNumber[7]+unit[4]=肆仟566/10 商56 余6 除次数为5 capNumber[6]+unit[5]=陆万56/10 商5 余6 除次数为6 capNumber[6]+unit[6]=陆拾5/10 商0 余5 除次数为7 capNumber[5]+unit[7]=伍佰商为0,并且余数也为0时,结束*/public static void main(String[] args) {String capNumber[] = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"}; //capNumber[]存储大写数字汉字String unit[] = {"","圆","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟"}; //unit[]存储每一个位数所对应的大写汉字单位 unit[0]="",方便对应。Scanner sc = new Scanner(System.in); //键盘录入数据System.out.println("请输入12位以内任意整数:");long num;//判断输入数据合理性while(true){num = sc.nextLong();String line = num +"";if(line.length() > 12){System.out.println("您输入的数据位数过大!请重输:");}else {break;}} int times = 0; //记录除的次数long shang = 0; //记录每一次的商long yushu = 0; //记录每一次的余数String str = "";while(true){shang = num / 10; //得到商yushu = num % 10; //得到余数if(shang == 0 && yushu == 0){ //当商和余数同时为0时退出循环break;}else{ //否则,将商重新赋值给num,继续循环num = shang;}times++; //次数加1,得到每位数据str = capNumber[ (int) yushu]+unit[times] + str; //将大写数字汉字和大写单位连接赋值给str} //去除字符串中的0str = str.replaceAll("零[拾佰仟]","零").replaceAll("零+亿","亿").replaceAll("零{4}万", "").replaceAll("零+万","万").replaceAll("零+圆","圆").replaceAll("零+", "零")+"整";System.out.println("阿拉伯数字转换成中国传统形式为: ");System.out.println(str); //输出字符串}
}
金额转换,阿拉伯数字转换成中国传统形式相关推荐
- 金额转换,阿拉伯数字转换成中国传统形式。 例如:101000001010 转换为 壹仟零壹拾亿零壹仟零壹拾圆整
金额转换,阿拉伯数字转换成中国传统形式. 例如:101000001010 转换为 壹仟零壹拾亿零壹仟零壹拾圆整 package com.itheima;import java.util.Arr ...
- 金额转换,阿拉伯数字转换成中国传统形式。例如:101000001010 转换为 壹仟零壹拾亿零壹仟零壹拾圆整
public class Test{ // 定义三个字符数组,把中文的数字形式存储下来,再下面代码中获取下标,设置对应中文 private static char[] hunit = { '拾', ' ...
- 怎么实现金额转换,将阿拉伯数字金额转换成中国传统形式,例如1011变成一千零一拾一元整?
public class Rmb{private static final char[] data = {'零','壹','贰','叄','肆','伍','陆','柒','捌','玖'};privat ...
- 金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)-(一千零一拾一元整)输出。...
程序代码如下: package cn.itcast.framework.interview;import java.text.NumberFormat; import java.util.HashMa ...
- java练习:金额转换,阿拉伯数字转换成中文传统形式
需求:金额转换,阿拉伯数字转换成中文传统形式 ,例如 101000001010 转为 壹仟零壹拾亿零壹仟零壹拾圆整 最终版: import java.util.Scanner; pub ...
- 金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)-(一千零一拾一元整)输出。
/** * @(#)SimpleMoneyFormat.java * *金额转换,阿拉伯数字的金额转换为中国传统的形式输出 * @lpxuan * @version 1.00 2008/7/ ...
- 金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出
去零的代码: return sb.reverse().toString().replaceAll("零[拾佰仟]","零").replaceAll(" ...
- 金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)-(一千零一拾一元整)输出
去零的代码: return sb.reverse().toString().replaceAll("零[拾佰仟]","零").replaceAll(" ...
- 如何将阿拉伯数字转换成RMB大写格式
代码如下: /*** @author weigeli*/ public class Change {public static final String POINT = ".";p ...
- 金额转换,阿拉伯数字的金额转换为中国传统的形式。例如:327328.96 - 叁拾贰万柒仟叁佰贰拾捌元玖角陆分。
/** 定义数组存放数字对应的大写 */ private final static String[] STR_NUMBER = {"零", "壹", " ...
最新文章
- linux进程间通信之Posix共享内存用法详解及代码举例
- EditText的各种属性
- sklearn常用模块
- MongoDB最佳实践(转)
- 实现html锚点的两种方式
- SpringBoot2.0 基础案例(02):配置Log4j2,实现不同环境日志打印
- 苹果CMS10|粉色视频站模版|YMYS007|魅力社
- 【开源】多多客发布 3.0.0-alpha.6,Koa+Vue+Taro最佳实践
- 广东全国计算机2018年报名时间,2018年3月广东计算机等级考试报名时间
- java热门编程题_java经典50编程题(1-10)
- {MySQL数据库初识}一 数据库概述 二 MySQL介绍 三 MySQL的下载安装、简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 初识sql语句...
- Android Fragment学习
- 爱立信实习生面试小结
- java数据结构——哈希表
- 现代雷达系统分析与设计---数字中频正交采样
- 矩阵基变换和坐标变换
- 总结:pytorch对应版本安装
- VC+DirectShow对视频进行图片处理(转)
- ios点击推送闪退_苹果ios企业签名常见问题及解决方案总结,开发者必看!
- 科技驰援 攻坚战疫 | 用友助力武汉协和医院部署捐赠物资管理系统,保证“物尽其用”...