`
nannan408
  • 浏览: 1770908 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

架构师之最优算法之----阿拉伯数字钱转化为中文数字钱(最优)

 
阅读更多
1.前言。
  如题。
2.例子。
package test;

public class Test {
	/**
	 * 如果超过10亿,int最大20亿,则只要把超过10亿(倒数第10位到11+的位)的部分抽出来,单独处理即可,这里略去
	 * @param d
	 */
	public static void test(int d) {
		String[] str = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
		String ss[] = new String[] { "元", "拾", "佰", "仟", "万", "拾", "佰", "仟",
				"亿" };
		String s = String.valueOf(d);
		System.out.println(s);
		StringBuffer sb = new StringBuffer();
		for (int i = 0; i < s.length(); i++) {
			// 技巧1:利用数组下标刚好对应0-9的特殊性,拼装中文。把123转为"壹","贰","叁"
			String index = String.valueOf(s.charAt(i));
			sb = sb.append(str[Integer.parseInt(index)]);
		}
		// System.out.println(sb.toString());
		String sss = String.valueOf(sb);
		int i = 0;
		for (int j = sss.length(); j > 0; j--) {
			// 技巧二:所谓的后缀,其实是直接按位填充用
			sb = sb.insert(j, ss[i++]);
		}
		System.out.println("不去重复的零:"+sb);
		//去重复的零
		System.out.println("去重复的零:"+sb.toString().replaceAll("零万", "万").replaceAll("零仟", "").replaceAll("零佰",
				"").replaceAll("零拾", "零"));
	}

	public static void main(String[] args) {
		Test d = new Test();
		d.test(900070007);
	}
}


结果为:

900070007
不去重复的零:玖亿零仟零佰零拾柒万零仟零佰零拾柒元
去重复的零:玖亿零柒万零柒元


4.需要注意的。

(1)注意数组下标技巧,和stringbuffer填充技巧。
(2)注意可以自己选择去不去零。
(3)如果超过10亿,本例子是会报错的,没关系,例子已经做了说明,把倒数第十位和第十位以上单独处理下,最后两个字符串拼起来就可以了。
0
0
分享到:
评论

相关推荐

    参考资料-基于混合最优算法的高精度数控直流电源设计.zip

    标题中的“参考资料-基于混合最优算法的高精度数控直流电源设计”揭示了本文档的核心内容,它涉及到一种高级的设计方法,即使用混合最优算法来实现高精度的数字控制直流电源。这种电源在现代电子设备、实验室研究...

    架构师日课之算法练习打谱集

    架构师日课之算法练习打谱集 架构师日课之算法练习打谱集是算法领域的权威指南,汇集了1000多个算法题,旨在提高开发者的算法能力和编程水平。该书涵盖了算法领域的多个方面,包括数组、链表、树、图、动态规划、...

    k-近邻算法实现手写数字识别系统--《机器学习实战 》-内含源码以及设计说明书(可以自己运行复现).zip

    设计说明书将详细介绍系统的架构、算法选择的理由、性能指标和优化策略。它会指导用户如何运行代码,解释代码中的关键部分,并提供实验结果的分析。 **总结** 这个项目通过k-NN算法实现了手写数字识别系统,涵盖了...

    算法导论三新增章节---

    这类算法能够在运行时根据计算资源的可用性动态调整线程数量,从而达到最优性能。通过动态调度机制,算法能够自动平衡任务负载,减少空闲时间,最大化硬件资源的利用率。书中提供了丰富的案例研究,如矩阵乘法、快速...

    系统架构师考试真题(2008-2020年)题目-答案-详细解析.zip

    历届系统架构师考试真题(2008-2020年)题目-考题答案-解题思路详细解析

    阿里巴巴-数字经济下的算法力量 -2019.2-329页.pdf

    《阿里巴巴-数字经济下的算法力量》是一本深入探讨阿里巴巴在数字经济时代如何运用算法推动技术创新与业务发展的书籍。书中涉及了阿里巴巴在推荐系统、搜索排序以及端到端模型等关键领域的实践和研究成果。 首先,...

    大规模云计算服务器优化调度问题的最优二元交换算法研究.pdf

    云计算作为当今信息技术发展的重要方向之一,正受到越来越多的...随着云计算应用的不断深入,对于云计算服务器的高效调度将变得越来越重要,最优二元交换算法的研究和应用无疑将为云计算服务的优化提供有力的技术支持。

    工业机器人时间-能量最优轨迹规划.pdf

    工业机器人时间-能量最优轨迹规划的知识点涵盖了机器人技术、算法优化、人工智能等多个领域。以下是对文件中提到的知识点的详细解读: 1. 工业机器人轨迹规划的重要性 轨迹规划是工业机器人操作的核心技术之一,它...

    煤矿搜救机器人最优路径规划算法.pdf

    最优路径规划算法的设计和实现涉及到多个领域和技术,如图论、智能算法(遗传算法、蚁群算法、粒子群优化等)、动态规划、A*算法等。例如,A*算法是一种广泛应用于路径规划的启发式搜索算法,它结合了最好优先搜索和...

    软件架构师成长之路

    ### 软件架构师成长之路的关键知识点 #### 一、软件架构师的角色与价值 - **定义**:软件架构师通常被视为一个组织中的技术领袖,他们负责制定软件产品的技术路线和技术框架,确保产品的可扩展性和高效性。 - **...

    软件架构师应该知道的97件事.pdf

    同时,架构师必须理解业务的优先级,并在设计软件架构时将其作为指导原则之一。 另外,软件架构师需要确保解决方案是简单且可用的。一些基本原则,如KISS(Keep it Simple, Stupid)原则,指导架构师在考虑通用性和...

    高软-系统架构设计师-考点整理

    高软-系统架构设计师-考点整理 高软-系统架构设计师-考点整理高软-系统架构设计师-考点整理高软-系统架构设计师-考点整理高软-系统架构设计师-考点整理高软-系统架构设计师-考点整理高软-系统架构设计师-考点整理高...

    ArchSummit 2023 全球架构师峰会 北京站 PPT(公开)

    01-从互联网到 ToB 服务 - 私有化部署对架构师的挑战-张铎 01-金融级系统海量流量下的高可用架构实践-康杨 01-美团优选智能质量方案探索-王昭 01-中国移动智慧中台赋能企业数智化转型实践-兰建明 01-字节跳动云原生...

    软件架构和架构师

    系统分析师更侧重于理解业务需求并将这些需求转化为具体的软件需求规格说明;而软件架构师则专注于基于这些需求设计出合理的软件架构。 - **协作**: 在实际工作中,这两个角色通常会紧密合作,确保软件开发项目的...

    一类DEDS最优调度算法的改进.pdf

    【标题】:“一类DEDS最优调度算法的改进” 【描述】:本文主要关注了一类离散事件动态系统(DEDS)的最优调度算法的优化,通过最大化单位时间的利润来解决生产线上批量生产的调度问题。 【标签】:算法、调度算法...

    毕业设计--基于DSP的数字伺服系统研制及控制算法的研究.doc

    ### 基于DSP的数字伺服系统研制及控制算法的研究 #### 概述 随着现代军事和工业领域对高精度、...特别是智能PID控制算法的引入,极大提升了系统的稳定性和准确性,为未来数字伺服系统的发展提供了新的思路和技术支持。

    软考-高级-系统架构师视频教程.txt

    软考系统架构师视频 培训视频 软考 高级

    Java高级架构师6期 视频教程 下载 因为太大 百度网盘链接3.zip

    ├─10 第十章 架构师工具箱 │ 01 10-1 持续集成 Jenkins.mp4 │ 02 10-2 彻底搞懂Git代码管理.mp4 │ 03 10-3 常用第三方类库.mp4 │ 04 04 10-4 Zabbix服务器监控工具-1.mp4 │ 04 04 10-4 Zabbix服务器监控...

Global site tag (gtag.js) - Google Analytics