`

将数字转化成汉字

    博客分类:
  • JAVA
J# 
阅读更多
public class MyCharacterTools {
  
 private final static String[] nums = new String[] { "零", "一",   
             "二", "三", "四", "五", "六", "七",   
             "八", "九" };   
  
 private final static String[] units = new String[] { "十", "百",   
             "千", "万", "亿" };   
    private final static NumberFormat numberFormat = new DecimalFormat(   
        "#,####.#");   
    public static String convertToCNNumber(double number)   
    {   
        if (number > Double.MAX_VALUE || number < 0.0)   
        {   
            return null;   
        }   
        String srcNum = numberFormat.format(number); //按个数转换,如"21,1234,4567,5487.4543544"   
  
        String prefixNum = srcNum;   
        if (srcNum.indexOf(".") != -1)   
        {   
            prefixNum = srcNum.substring(0, srcNum.indexOf(".")); //小数点前   
        }   
  
        StringBuffer result = new StringBuffer(0); //用于保存结果   
  
        String[] numPices = prefixNum.split(","); //4个数字一组   
        for (int i = 0; i < numPices.length; i++) //遍历每个组   
        {   
            for (int j = 0; j < numPices[i].length(); j++) //遍历组中的每个数字   
            {   
                int k = Integer.parseInt(String.valueOf(numPices[i].charAt(j)));   
                int len = numPices[i].length();   
                result.append(nums[k]); //变成汉字   
                result.append(len - 2 - j >= 0 && k > 0 ? units[len - 2 - j]   
                        : ""); //添加仟佰拾   
                result   
                    .append(j != len - 1 ? ""  
                            : ((i + numPices.length) % 2 == 0 ? (i == numPices.length - 1 ? ""  
                                    : units[3])   
                                    : i != numPices.length - 1 ? units[4] : "")); //添加亿万   
            }   
        }   
  
        String resutlStr = result.toString();   
  
        resutlStr = resutlStr.replaceAll(nums[0] + "{2,}", nums[0]); //"零零" to "零"   
        resutlStr = resutlStr.replaceAll(nums[0] + units[3] + "{1}", units[3]); //"零万" to "万"   
        resutlStr = resutlStr.replaceAll(nums[0] + units[4] + "{1}", units[4]); //"零亿" to "亿"   
        resutlStr = resutlStr.replaceAll(units[4] + units[3] + "{1}", units[4]); //"亿万" to "亿零"   
        if (resutlStr.lastIndexOf(nums[0]) == resutlStr.length() - 1)   
        { //去掉最后的"零"   
            resutlStr = resutlStr.substring(0, resutlStr.length() - 1);   
        }   
  
        return resutlStr;  
    } 
}
String a = MyCharacterTools.convertToCNNumber(Long.MAX_VALUE));   
         System.out.println(Long.MAX_VALUE);   
         System.out.println(a);   

 

分享到:
评论

相关推荐

    JavaScript实现把数字转换成中文

    JavaScript 实现数字转换成中文是一种常见的编程需求,特别是在处理金融、会计等领域,中文数字的表示方式更加直观且符合中文阅读习惯。以下是一个简单的 JavaScript 函数,用于将阿拉伯数字转换为中文数字。 首先...

    数字转换成中文程序 数字转换成中文程序

    数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序数字转换成中文程序...

    Java 数字转换成中文读法

    在编程领域,尤其是在Java开发中,有时我们需要将数字转换成中文读法,以便于用户更加直观地理解数据。这个需求通常出现在财务、报表或者人机交互界面等场景。标题所提及的问题是:“Java设计输入‘12345’显示‘一...

    js将数字转换成中文

    本文将详细介绍一个JavaScript函数,该函数能够实现将数字转换成中文大写的功能。 #### 函数概述 给定的代码段定义了一个名为`transform`的函数,其功能是将传入的数字字符串转换为对应的中文大写表示。例如,传入`...

    oracle数字转换中文

    在财务模块的开发中,将数字转换成中文大写是必需的功能之一,尤其是在中国以及使用中文的地区。例如,在开具发票、合同等正式文档时,通常需要将金额数字转换为中文大写形式,以增加文档的正式性和防止篡改。 ####...

    C# 数字转换成中文

    在编程领域,尤其是在财务软件或报表系统中,将数字转换为中文大写是常见的需求,因为中文大写常用于财务报告、发票等正式文档中,以避免数字篡改。C#作为.NET框架中的主要编程语言,提供了丰富的字符串处理功能,...

    人民币数字转换成汉字大写

    人民币数字转换成汉字大写 android Java 运行效率

    java实现阿拉伯数字 转换为 汉字数字 算法

    java实现阿拉伯数字 转换为 汉字数字 算法

    易语言数字转化为汉字

    在IT领域,尤其是在编程中,将数字转化为汉字是一种常见的需求,尤其在中国,因为汉字是用于表示金额、编号等正式场合的必要方式。易语言作为一款中国本土开发的编程语言,提供了方便的功能来实现这一需求。"易语言...

    金额转换,将数字转换成汉字

    金额转换,将数字转换成汉字(例如1001.11,转成壹仟零壹元壹角壹分)

    将阿拉伯数字转换为汉字数字或者汉字大写金额

    1、该dll能将阿拉伯数字转换为汉字数字或者中文大写金额。例如1234567.07可转换为: “一百二十三万四千五百六十七点零七”或“壹佰贰拾叁万肆仟伍佰陆拾柒圆零柒分”。 目前支持正负千亿以内(整数部分不超过12位)...

    阿拉伯数字转换为中文小写数字

    在Android开发过程中,有时我们需要将阿拉伯数字(1, 2, 3...)转换成中文小写数字(一,二,三...),特别是在涉及到文化习惯或者用户界面本地化的时候,如书籍页码显示。这个任务涉及到字符串处理和字符映射,下面...

    中文数字转化成阿拉伯数字

    在编程领域,中文数字转化成阿拉伯数字是一项常见的需求,特别是在处理中文文本数据时。C#是一种广泛使用的面向对象的编程语言,它提供了丰富的库和工具来处理字符串和文本转换。本篇文章将深入探讨如何在C#中实现...

    数字转换成汉字小程序

    自己编的一个小小的程序,可以将数字转换成汉字,用C语言做的

    mysql 函数,可以将数字转换为中文大写形式

    mysql 函数,可以将数字转换为中文大写形式。大写数字是中国特有的数字书写方式,利用与数字同音的汉字取代数字,以防止数目被涂改。 据考证,大写数字最早是由武则天发明,后经朱元璋改进完善。

    易语言数字转换汉字大写

    易语言的数字转换汉字大写源码提供了方便的编程接口,使得开发者可以轻松地在自己的程序中实现这个功能,从而满足各种应用场景的需求。通过深入理解易语言的语法和数据处理方式,我们可以在此基础上扩展更多功能,...

    java将数字转换成大写字母

    Java 中实现数字金额到中文大写字符的转换是指将阿拉伯数字转换成中文大写的过程。本文将详细介绍 Java 实现数字金额到中文大写字符的转换的知识点。 知识点一: 数字金额到中文大写字符的转换的需求 在实际应用中...

    易语言源码数字转换汉字大写.7z

    在标题"易语言源码数字转换汉字大写.7z"中,我们可以推断出这个压缩包包含的是使用易语言编写的源代码,其功能是将数字转换成汉字大写形式。这种转换在财务报表、会计领域以及一些需要清晰显示金额的场合非常常见,...

    用C++编写数字转换成汉字大写的程序

    标题 "用C++编写数字转换成汉字大写的程序" 提示我们要探讨的是如何利用C++编程语言将阿拉伯数字转换为汉字大写,这种转换在银行、财务等对账单有明确要求的领域尤为常见。汉字大写数字通常用于增强财务记录的清晰度...

    delphi阿拉伯数字转换成中文写法

    把阿拉伯数字转为汉字写法比如123456789转化为零壹贰叁肆伍陆柒捌玖,以及几百几千几万的数字都可以转化

Global site tag (gtag.js) - Google Analytics