热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数字对应的转换成汉字

*********************************************************************************@authorbi

/******************************************************************************* * * @author bigsalt * 思想简要: 1.数字对应的转换成汉字,这其中不考虑任何情况只是简单的转换:如1000 转换为“一千零百零十零”。 * 2.然后根据规则进行字符串的替换。 * 虽然方法思想是非常简单的,并且脱离的现实中我们转换思维定式,但是这个方法却是从我们思维的定式中转化过来的。 * 中国人读取数字其实是有一定的规律可循的:都是以四位做一个循环,如“一千一百一十一”,“一千一百一十一万”,“一千一百一十一亿”, * 因此我们只需解决4位时出现的各种情况并且解决好在两个四位相连接时可能发生的特殊情况,那么数字转换为汉字的问题也就得到了解决。 */ public class NumberConert { protected static final String[] UNITS = { “”, “十”, “百”, “千”, “万”, “十”, “百”, “千”, “亿”, “十”, “百”, “千”, }; protected static final String[] NUMS = { “零”, “一”, “二”, “三”, “四”, “五”, “六”, “七”, “八”, “九”, }; /** * 数字转换成中文汉字 * * @param value * 转换的数字 * @return 返回数字转后的汉字字符串 */ public static String translate(int value) { // 转译结果 String result = “”; for (int i = String.valueOf(value).length() – 1; i >= 0; i–) { int r = (int) (value / Math.pow(10, i)); result += NUMS[r % 10] + UNITS[i]; } result = result.replaceAll(“零[十, 百, 千]”, “零”); result = result.replaceAll(“零+”, “零”); result = result.replaceAll(“零([万, 亿])”, “$1”); result = result.replaceAll(“亿万”, “亿”); // 亿万位拼接时发生的特殊情况 if (result.startsWith(“一十”)) result = result.substring(1); if (result.endsWith(“零”)) result = result.substring(0, result.length() – 1); return result; } public static void main(String[] args) { System.out.println(NumberConert.translate(3)); } }


推荐阅读
  • 本文介绍了UUID(通用唯一标识符)的概念及其在JavaScript中生成Java兼容UUID的代码实现与优化技巧。UUID是一个128位的唯一标识符,广泛应用于分布式系统中以确保唯一性。文章详细探讨了如何利用JavaScript生成符合Java标准的UUID,并提供了多种优化方法,以提高生成效率和兼容性。 ... [详细]
  • AIX编程挑战赛:AIX正方形问题的算法解析与Java代码实现
    在昨晚的阅读中,我注意到了CSDN博主西部阿呆-小草屋发表的一篇文章《AIX程序设计大赛——AIX正方形问题》。该文详细阐述了AIX正方形问题的背景,并提供了一种基于Java语言的解决方案。本文将深入解析这一算法的核心思想,并展示具体的Java代码实现,旨在为参赛者和编程爱好者提供有价值的参考。 ... [详细]
  • 检查在所有可能的“?”替换中,给定的二进制字符串中是否出现子字符串“10”带 1 或 0 ... [详细]
  • 在Java编程中,若需实现两个整数(例如2和3)相除并保留两位小数的结果,可以通过精确计算方法来达到预期效果。具体而言,可以利用BigDecimal类进行高精度运算,确保2除以3的结果准确显示为0.66。此外,还可以通过格式化输出来控制小数位数,确保最终结果符合要求。 ... [详细]
  • Java设计模式详解:解释器模式的应用与实现
    本文详细介绍了Java设计模式中的解释器模式,包括其定义、应用场景、优缺点以及具体的实现示例。通过音乐解释器的例子,帮助读者更好地理解和应用这一模式。 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 本文总结了JavaScript的核心知识点和实用技巧,涵盖了变量声明、DOM操作、事件处理等重要方面。例如,通过`event.srcElement`获取触发事件的元素,并使用`alert`显示其HTML结构;利用`innerText`和`innerHTML`属性分别设置和获取文本内容及HTML内容。此外,还介绍了如何在表单中动态生成和操作``元素,以便更好地处理用户输入。这些技巧对于提升前端开发效率和代码质量具有重要意义。 ... [详细]
  • HBase Java API 进阶:过滤器详解与应用实例
    本文详细探讨了HBase 1.2.6版本中Java API的高级应用,重点介绍了过滤器的使用方法和实际案例。首先,文章对几种常见的HBase过滤器进行了概述,包括列前缀过滤器(ColumnPrefixFilter)和时间戳过滤器(TimestampsFilter)。此外,还详细讲解了分页过滤器(PageFilter)的实现原理及其在大数据查询中的应用场景。通过具体的代码示例,读者可以更好地理解和掌握这些过滤器的使用技巧,从而提高数据处理的效率和灵活性。 ... [详细]
  • 如何使用 net.sf.extjwnl.data.Word 类及其代码示例详解 ... [详细]
  • 尽管在Java编程中,“不兼容类型”错误是一个常见问题,但许多开发者仍对其感到困惑。此类错误通常出现在尝试将一个数据类型赋值给另一个不兼容的数据类型时。理解类型系统和正确使用类型转换是解决这一问题的关键。本文将深入探讨该错误的成因,并提供实用的调试技巧和预防措施,帮助开发者有效应对“不兼容类型”问题。 ... [详细]
  • 稀疏数组是一种用于存储和处理大部分元素为零或相同值的数组的技术。通过记录非零元素的位置和值,稀疏数组可以显著减少存储空间和提高处理效率。 ... [详细]
  • LintCode 1218. 计算补数的 JavaScript 算法
    本题要求给定一个正整数,计算其补数。补数是指将该数字的二进制表示逐位取反,然后转换回十进制得到的新数。 ... [详细]
  • 2022年7月20日:关键数据与市场动态分析
    2022年7月20日,本文对当日的关键数据和市场动态进行了深入分析。主要内容包括:1. 关键数据的解读与趋势分析;2. 市场动态的变化及其对投资策略的影响;3. 相关经济指标的评估。通过这些分析,帮助读者更好地理解当前市场环境,为决策提供参考。 ... [详细]
  • 如何使用 `org.eclipse.rdf4j.query.impl.MapBindingSet.getValue()` 方法及其代码示例详解 ... [详细]
  • 在Eclipse中批量转换Java源代码文件的编码格式从GBK到UTF-8是一项常见的需求。通过编写简单的Java代码,可以高效地实现这一任务。该方法不仅适用于Java文件,还可以用于其他类型的文本文件编码转换。具体实现可以通过导入`java.io.File`类来操作文件系统,从而完成批量转换。此外,建议在转换过程中添加异常处理机制,以确保代码的健壮性和可靠性。 ... [详细]
author-avatar
向日葵渴望
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有