实现人民币的大小写转换
该练习是在《 Java开发实例大全 基础卷.pdf》中看到的题目,就借着代码参考实现。
实现思路:
- 保存要转换的金钱单位(chineseUnit)和金钱大写字符串(chineseValue)
- 将输入金额转换为字符串
- 将输入的金钱分为整数部分和小数部分进行处理。
- 对整数部分进行转换
- 对小数部分进行转换
- 拼接整数和小数部分的字符串数值
- 返回并输出
代码如下:
import org.omg.PortableInterceptor.Interceptor;import java.math.BigDecimal;
import java.util.Scanner;public class NumberConvert {public static void main(String[] args) {boolean flag = true;Scanner sc = new Scanner(System.in);ConvertChinese convertChinese = new ConvertChinese();System.out.println("输入金额:");BigDecimal number=sc.nextBigDecimal();System.out.println(convertChinese.getChinese(number) + "整");}
}
class ConvertChinese{private String chinese = "";private String decimalsChinese="";private String intNumber ="";private String decimals = "";String chineseUnit = "元=十=百=千=万=十=百=千=亿=十=百=千=万";String chineseValue = "零壹贰叁肆伍陆柒捌玖";// 实现金钱的数值转换public String getChinese(BigDecimal number) {String srcNumber = number + "";// 把数值换为String 型// 分开整数与小数if(srcNumber.contains(".")){intNumber = srcNumber.substring(0, srcNumber.indexOf("."));decimals = srcNumber.substring(srcNumber.indexOf(".") + 1, srcNumber.length());System.out.println("整数部分:" + intNumber);System.out.println("小数部分:" + decimals);}else{intNumber=srcNumber;}String chineseUnit1[] = chineseUnit.split("=");// 转换整数部分for (int i = 0; i < intNumber.length(); i++) {chinese += chineseValue.charAt(Integer.parseInt(srcNumber.charAt(i) + ""))+ chineseUnit1[intNumber.length() - 1 - i];}// 转换小数部分for (int i = 0; i < decimals.length(); i++) {if(i==0){decimalsChinese += chineseValue.charAt(Integer.parseInt(decimals.substring(0, 1))) + "角";}if(i==1){decimalsChinese+=chineseValue.charAt(Integer.parseInt(decimals.substring(1,2)))+"分";}if(i==2){decimalsChinese+=chineseValue.charAt(Integer.parseInt(decimals.substring(2,3)))+"厘";}}chinese += decimalsChinese;return chinese;}
}
测试效果如下:
输入金额:
55.333
整数部分:55
小数部分:333
伍十伍元叁角叁分叁厘整
实现人民币的大小写转换相关推荐
- C#人民币金额大小写转换
C#人民币金额大小写转换 在财务相关的软件的时候,常常设计到大小写金额的转换,小编整理了自己常用的数字金额大小写转换的方法代码 给大家参考如下: /// <summary> /// 金额小 ...
- 人民币金额大小写转换函数
[转帖]人民币金额大小写转换函数 Function NtoC( n0 :Extended) :wideString; //人民币金额大小写转换函数(如发现更为精简的,请告诉我) //作者:方小庆(上海 ...
- java版,实现人民币的大小写转换
前两天看了,一个技术牛人的访谈,讲的非常的精彩.我只记得当中他说,程序员要怎么学习.提了很重要的一点,就是要经常性的写博客,把自己学到的知识,分享出来,这样不仅可以提高自己的能力,还能够让别人看你程序 ...
- 人民币数字大小写转换
人民币数字大写转换 include <iostream> include <iostream> include <string> include <stdli ...
- 在线人民币金额大小写转换,助力会计工作
这款工具可以将人民币金额的小写阿拉伯数字转换成对应的大写汉字. 支持的大写汉字包括零.壹.贰.叁.肆.伍.陆.柒.捌.玖.拾.佰.仟.万.亿等.使用非常简便,只需在输入框中输入需要转换的金额,然后点击 ...
- 人民币金额大小写转换
大家在编写涉及到金额的程序的时候,有时候需要将小写的人民币金额转换成大写表示 下面的代码介绍了转换的实现过程,大家可以参考一下! #pragma warning(disable:4786) #incl ...
- JavaScript实现人民币大小写转换
当使用支票或者签署合同时,需要用到大写人民币,常用的中文大写包括零.壹.贰.叁.肆.伍.陆.柒.捌.玖.拾.佰.仟.万.亿.本文介绍下如何使用JavaScript实现将阿拉伯数字的人民币转换成大写. ...
- 人民币大小写转换格式
<?php //****人民币大小写转换格式**** function ChangeToRMB($Val) { $str=array(); $str[0]="零"; $str ...
- 超强技巧分享,如何将人民币大小写转换?
当我们在制作财务表格的时候,需要将金额的大写跟小写进行转换,如果要一个一个手打出来的话,那就太浪费时间了,一两个数额还好,如果一整个表格的数额,那就不得了了,那要花费多少时间才能将小写金额转换成大写金 ...
最新文章
- CVPR2021|CenterPoint :基于点云数据的3D目标检测与跟踪
- 通过 TaskScheduler 新建windows计划
- javaweb学习总结(二十一)——JavaWeb的两种开发模式
- PHP 如何得到当前页面中所有已定义的变量和常量
- linux 裸设备使用,linux裸设备使用
- CV Code | 计算机视觉开源周报 20190602期
- ActiveRecord 复合主键时 实体转换为DataRow
- 乐有家:房源信息立体把控,打造全渠道真房源
- SolidWorks零件图转工程图
- mysql全称量词_MySQL操作记录的方法集合,供以后查看
- pat计算机程序考试考试时间,pat报名条件
- 举个栗子!Tableau技巧(59):学做两个集合的维恩图(文氏图)Venn diagram
- android开发接口调用,Android开发中webService接口调用示例
- yolo和以往算法的区别/yolo为什么叫yolo
- 常用的前端自动化构建工具gulp/grunt/fis --简介
- 04_dubbo_ioc
- Egg开发项目实践纪实
- 重磅开源:基于.NET 6.0 自研轻量级ORM框架
- Spring调用Feign报错:java.io.IOException: Incomplete output stream
- Oracle数据库sql语句练习【emp和dept的连表查询由浅入深】
热门文章
- ubuntu 手机连接不到电脑,配置
- Xcode 错误整理
- java线程和linux线程,【转】Java线程与Linux内核线程的映射关系
- c# asp.net mvc使用斑马GK888t打印机打印标签
- 全国大学生数学建模竞赛2012A题葡萄酒的评价MATLAB程序
- docker ——安装tomcat
- Junit-对涉及数据库操作的服务进行单元测试
- 构建告警管理可观察性智能平台
- php 403 -禁止访问 访问被拒绝,HTTP 错误 403.6 - Forbidden 访问IP地址被拒绝
- 分享 29 款 Chrome 插件,总有一款适合你