金额转换,阿拉伯数字转换成中国传统形式
来源:互联网 发布:ubuntu 中文 命令 编辑:程序博客网 时间:2024/04/29 13:25
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 } //去除字符串中的0 str = str.replaceAll("零[拾佰仟]","零").replaceAll("零+亿","亿").replaceAll("零{4}万", "") .replaceAll("零+万","万").replaceAll("零+圆","圆").replaceAll("零+", "零")+"整"; System.out.println("阿拉伯数字转换成中国传统形式为: "); System.out.println(str); //输出字符串 } }
2 0
- 金额转换,阿拉伯数字转换成中国传统形式。
- 金额转换,阿拉伯数字转换成中国传统形式。
- 金额转换,阿拉伯数字转换成中国传统形式
- 金额转换,阿拉伯数字转换成中国传统形式。
- 金额转换,阿拉伯数字的金额转换成中国传统的形式
- 金额转换,阿拉伯数字的金额转换成中国传统的形式
- 金额转换,阿拉伯数字的金额转换成中国传统的形式:
- 阿拉伯数字的金额转换成中国传统的形式
- 阿拉伯数字的金额转换成中国传统的形式
- 黑马程序员-金额转换,阿拉伯数字的金额转换成中国传统的形式
- [第一天]金额转换,阿拉伯数字的金额转换成中国传统的形式如
- 金额转换,阿拉伯数字的金额转换成中国传统大写汉字的形式
- 金额转换,阿拉伯数字转换成中国传统形式。 例如:101000001010 转换为 壹仟零壹拾亿零壹仟零壹拾圆整
- 金额转换,阿拉伯数字转换成中国传统形式。例如:101000001010 转换为 壹仟零壹拾亿零壹仟零壹拾圆整
- 金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出
- 金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。
- 金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出
- 怎么实现金额转换,将阿拉伯数字金额转换成中国传统形式,例如1011变成一千零一拾一元整?
- cocos2dx中CC_CALLBACK_N的理解
- MongoDB使用小结:一些常用操作分享
- Web报表工具FineReport二次开发JS之字符串
- HIBERNATE与 MYBATIS的对比
- 以platform总线方式注册杂项设备驱动
- 金额转换,阿拉伯数字转换成中国传统形式
- Java微信公众平台开发(八)——多媒体消息回复
- TuShare(3):使用pandas 压缩存储hdf5文件
- HTML学习(五)——超链接
- 视频编解码学习之一:理论基础
- SpringMVC中的DispatcherServlet (及WebApplicationContext部分)
- JavaScript内置对象
- 单元格点击效果,一闪就没了
- 二叉搜索树