当前位置: 首页 > news >正文

java金额转换,将数字金额转换为7位大写

来看题:

要将输入的数字(大于零并小于七位)转成如图格式金额
示例输入:
12345
示例输出:
零佰零拾壹万贰千叁佰肆拾伍

题解:
0-9对应的数字可以利用数组下标轻松转换为汉字,因此我们可以先将12345转为壹贰叁肆伍,然后再在前面补零补足7位:
零零壹贰叁肆伍
最后插入单位即可。

首先定义两个数组,一个用来存储汉字单位,一个用来存储汉字进位单位:

privatestaticfinalString[]yuan={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};privatestaticfinalString[]wei={"佰","拾","万","千","佰","拾","元"};

然后做输入数字处理:

intmoney=0;while(true){System.out.println("请输入金额:");money=sc.nextInt();if(money>0&&money<10000000){break;}else{System.out.println("输入错误");}

接下来我们可以先将数字转为汉字表示,这里因为频繁使用字符串拼接,因此创建StringBuilder:

StringBuilderresult=newStringBuilder();while(money>0){inttemp=money%10;result.insert(0,change(temp));money/=10;}

change代码如下:

publicstaticStringchange(intnum){returnyuan[num];}

然后补足7位,可以先计算长度看看需要补几个零,然后用StringBuilder提供的insert方法可以轻松在头部插入:

intcount=7-result.length();for(inti=0;i<count;i++){result.insert(0,"零");}System.out.println(result);

最后我们插入单位,定义两个下标i和j,j表示插入位置,i表示要插入的单位的数组下标。注意j隔一位插入即可:

// 插入单位intj=1;intf=0;while(j<result.length()&&f<wei.length){result.insert(j,wei[f]);j+=2;// 这里注意j要隔一位进行插入f++;}System.out.println(result);

完整代码:

packagemylearn;importjava.util.*;publicclassTest{privatestaticfinalScannersc=newScanner(System.in);privatestaticfinalString[]yuan={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};privatestaticfinalString[]wei={"佰","拾","万","千","佰","拾","元"};publicstaticvoidmain(String[]args){// 指针intmoney=0;while(true){System.out.println("请输入金额:");money=sc.nextInt();if(money>0&&money<100000000){break;}else{System.out.println("输入错误");}}StringBuilderresult=newStringBuilder();while(money>0){inttemp=money%10;result.insert(0,change(temp));money/=10;}intcount=7-result.length();for(inti=0;i<count;i++){result.insert(0,"零");}System.out.println(result);// 插入单位intj=1;intf=0;while(j<result.length()&&f<wei.length){result.insert(j,wei[f]);j+=2;f++;}System.out.println(result);}publicstaticStringchange(intnum){returnyuan[num];}}

end

http://www.cnnetsun.cn/news/117060.html

相关文章:

  • 初识操作系统
  • Android端AI模型部署终极指南:从入门到精通
  • RuoYi-Vue3企业级管理系统:现代化开发框架实战指南
  • MCP协议驱动企业级AI集成:芋道源码的智能化升级实践
  • 终极指南:使用gsplat.js实现高性能3D高斯点云渲染
  • 把CNN和SVR捏在一起做预测这事儿,乍听有点玄乎,实操起来倒挺有意思。咱们今天不整那些虚头巴脑的理论,直接上手撸代码。先甩个模型结构出来镇楼
  • Memobase完整安装指南:构建AI长期记忆系统的7个关键步骤
  • Faiss HNSW性能瓶颈突破:5步诊断与3倍提速优化实战
  • 5个立竿见影的wgpu性能优化技巧:让你的Rust图形应用帧率翻倍
  • 1000 人并发 + 4K 高清,3 大行业案例见证协作效率翻倍
  • 字符串的拼接函数:strcat()
  • GraphRAG-Local-UI终极指南:本地知识图谱构建与智能查询完整教程
  • Messari:Flow 生态 2025 年 Q3 发展概览
  • Draft.js工具栏深度定制:构建企业级富文本编辑器的完整实践
  • 下一个版本EmotiVoice将带来哪些惊喜?
  • 明诺多功能全自动洗地机,适用于超市、地库及商场清洁需求
  • 最近网上爆火的Flowith AI是啥?能否成为下一代AI Agent产品?
  • CesiumJS体素渲染终极指南:3D体积数据可视化完整解析
  • LrcApi终极指南:快速构建专业级歌词同步服务的完整方案
  • DeepSeek-V3.2-Exp推理部署终极指南:从模型文件到生产服务的完整路径
  • CVAT用户权限配置完整教程:从基础到高级的团队协作管理终极指南
  • ADC调试踩坑:一个printf引发的“血案“
  • 关键词:一致性算法;直流微电网;下垂控制;分布式二次控制;电压电流恢复与均分;非线性负载
  • ComfyUI-Manager安全权限终极指南:快速解决权限问题
  • Electronic WeChat个性化配置完全指南:从入门到精通
  • I2C总线:时序结构与数据帧
  • 适合新手的电脑版AI编曲软件快速根据哼唱清唱主旋律作伴奏
  • ZW3D二次开发_分享一个通过命令按钮查找关联API函数的插件
  • 【光照】Unity[光照探针]的作用与工作原理
  • 你有没有想过,像 ChatGPT 这样聪明的 AI,它是怎么“出生”的?