嘿嘿,前几天老师布置的作业:将数字转换成中文大写货币。看看我写的怎样。。

package classroom04String;

import java.util.Scanner;
/**
 * 
 * @author Null
 *功能:将数字转换成中文大写货币
 */
public class HomeworkString03 {
	public static void main(String atgs[]){
		char a[]={'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
		String b[]={ "分","角","圆","十","百","千","万","十万","百万","千万","亿","十亿","百亿 ","千亿 ","兆"};
		
		Scanner sc=new Scanner(System.in);
		
		System.out.println("请输入13位以内的整数和2位以内的分数");
		
		String number=sc.next();
		if(number.indexOf(".")==-1){
			number=number+".";
		}
		int where=number.indexOf(".");
		String aNumber=number.substring(0,where);
		String bNumber=number.substring(where+1);
		if(aNumber.length()>13 || bNumber.length()>2){
			System.out.println("输入错误,必须13位以内的整数和2位以内的分数");
			System.exit(0);
		}
		char cWhere[]=aNumber.toCharArray();
		char bWhere[]=bNumber.toCharArray();
	
		for(int i=0;i<cWhere.length;i++){
			int s=Integer.parseInt(""+cWhere[i]);
			System.out.print(a[s]+b[cWhere.length-i+1]);
		}
		for(int i=0;i<bWhere.length;i++){
			int s=Integer.parseInt(""+bWhere[i]);
			System.out.print(a[s]+b[1-i]);///bWhere.length不固定有时为1有时为2
		}
	}
}

贴上运行结果:


这个结果因该没问题吧?好像以前填收据的时候就用这种格式。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
引用和引用[2]提到了一种方法,可以利用Python将阿拉伯数字转化为中文大写。这个方法采用拆分法则,先将大数字拆分成整数部分和小数部分,然后按照仟、万、亿、兆的分位拆分整数部分为四个字符串组成的列表。每个字符串最多包含四个字符。接下来,对每个分位的字符串使用中文大写函数转换成中文大写。最后将转换后的结果合并起来。 具体步骤如下: 1. 将输入的数字拆分成整数部分和小数部分。 2. 将整数部分按照仟、万、亿、兆的分位拆分为四个字符串组成的列表。 3. 对每个分位的字符串使用中文大写函数转换成中文大写。 4. 将转换后的结果合并起来。 这样就能够将输入的数字转换成中文大写数字了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Python将阿拉伯数字转化为中文大写](https://blog.csdn.net/weixin_32942557/article/details/113722858)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatgptT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Python将数字转化为中文大写的实例代码](https://blog.csdn.net/weixin_30578645/article/details/114398149)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatgptT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值