news 2026/6/15 6:12:30

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 14:19:24

FastSAM自定义数据集实战指南:从零到精通的完整流程

还记得上次做图像分割项目时&#xff0c;面对五花八门的数据格式和复杂的标注工具&#xff0c;那种无从下手的感觉吗&#xff1f;别担心&#xff0c;今天我们就来一起解决这个痛点&#xff0c;用最接地气的方式&#xff0c;带你从零开始制作FastSAM专属数据集。 【免费下载链接…

作者头像 李华
网站建设 2026/6/13 14:19:25

分布式AI系统上下文管理的架构设计与工程实践

分布式AI系统上下文管理的架构设计与工程实践 【免费下载链接】adk-python 一款开源、代码优先的Python工具包&#xff0c;用于构建、评估和部署灵活可控的复杂 AI agents 项目地址: https://gitcode.com/GitHub_Trending/ad/adk-python 在AI系统从单机部署向分布式架构…

作者头像 李华
网站建设 2026/6/12 21:12:03

手把手教你玩转PMSM参数辨识

PMSM永磁同步电机参数辨识仿真&#xff0c;适用于表贴式&#xff0c;内嵌式永磁同步电机: 辨识内容: ① 定子电阻&#xff0c;精度在0.1%左右; ② DQ电感辨识(脉冲电压法)&#xff0c;精度在0.02%左右; ③ 转子磁链辨识&#xff0c;精度在0.12%左右; 上述算法&#xff0c;是在实…

作者头像 李华
网站建设 2026/6/15 13:09:57

WebLLM浏览器AI控制:三步实现精准输出约束

WebLLM浏览器AI控制&#xff1a;三步实现精准输出约束 【免费下载链接】web-llm 将大型语言模型和聊天功能引入网络浏览器。所有内容都在浏览器内部运行&#xff0c;无需服务器支持。 项目地址: https://gitcode.com/GitHub_Trending/we/web-llm 当AI在浏览器中运行时&a…

作者头像 李华
网站建设 2026/6/2 12:28:24

kkFileView移动端适配实战指南:解决小屏文档预览的终极方案

kkFileView移动端适配实战指南&#xff1a;解决小屏文档预览的终极方案 【免费下载链接】kkFileView Universal File Online Preview Project based on Spring-Boot 项目地址: https://gitcode.com/GitHub_Trending/kk/kkFileView 作为一名技术专家&#xff0c;你一定遇…

作者头像 李华