`
逆风的香1314
  • 浏览: 1450490 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

数字变成大写的类,把人民币转化为大写汉字

 
阅读更多

 

import java.math.BigDecimal; 

public class ConvertNumber ...
  
/** *//** 定义数组存放数字对应的大写 */ 

  
private final static String[] STR_NUMBER = ..."""""""""""""""""""" }

  
/** *//** 定义数组存放位数的大写 */ 
  
private final static String[] STR_MODIFY = ..."""""""""""""""""亿""""""" }

  
/** *//** 
   * 转化整数部分 
   *  
   * 
@param tempString 
   * 
@return 返回整数部分 
   
*/
 
  
private static String getInteger(String tempString) ...
    
/** *//** 用来保存整数部分数字串 */ 
    String strInteger 
= null;//  
    /** *//** 记录"."所在位置 */ 
    
int intDotPos = tempString.indexOf("."); 
    
int intSignPos = tempString.indexOf("-"); 
    
if (intDotPos == -1
      intDotPos 
= tempString.length(); 
    
/** *//** 取出整数部分 */ 
    strInteger 
= tempString.substring(intSignPos + 1, intDotPos); 
    strInteger 
= new StringBuffer(strInteger).reverse().toString(); 

    StringBuffer sbResult 
= new StringBuffer(); 
    
for (int i = 0; i < strInteger.length(); i++...
      sbResult.append(STR_MODIFY); 
      sbResult.append(STR_NUMBER[strInteger.charAt(i) 
- 48]); 
    }
 

    sbResult 
= sbResult.reverse(); 

    replace(sbResult, 
"零拾"""); 
    replace(sbResult, 
"零佰"""); 
    replace(sbResult, 
"零仟"""); 
    replace(sbResult, 
"零万"""); 
    replace(sbResult, 
"零亿""亿"); 

    replace(sbResult, 
"零零"""); 
    replace(sbResult, 
"零零零"""); 
    
/** *//** 这两句不能颠倒顺序 */ 
    replace(sbResult, 
"零零零零万"""); 
    replace(sbResult, 
"零零零零"""); 
    
/** *//** 这样读起来更习惯. */ 
    replace(sbResult, 
"壹拾亿""拾亿"); 
    replace(sbResult, 
"壹拾万""拾万"); 
    
/** *//** 删除个位上的零 */ 
    
if (sbResult.charAt(sbResult.length() - 1== '' && sbResult.length() != 1
      sbResult.deleteCharAt(sbResult.length() 
- 1); 

    
if (strInteger.length() == 2...
      replace(sbResult, 
"壹拾"""); 
    }
 
    
/** *//** 将结果反转回来. */ 
    
return sbResult.toString(); 
  }
 

  
/** *//** 
   * 转化小数部分 例:输入22.34返回叁肆 
   *  
   * 
@param tempString 
   * 
@return 
   
*/
 
  
private static String getFraction(String tempString) ...
    String strFraction 
= null
    
int intDotPos = tempString.indexOf("."); 
    
/** *//** 没有点说明没有小数,直接返回 */ 
    
if (intDotPos == -1
      
return ""
    strFraction 
= tempString.substring(intDotPos + 1); 
    StringBuffer sbResult 
= new StringBuffer(strFraction.length()); 

    
for (int i = 0; i < strFraction.length(); i++...
      sbResult.append(STR_NUMBER[strFraction.charAt(i) 
- 48]); 
    }
 
    
return sbResult.toString(); 
  }
 

  
/** *//** 
   * 判断传入的字符串中是否有.如果有则返回点 
   *  
   * 
@param tempString 
   * 
@return 
   
*/
 
  
private static String getDot(String tempString) ...
    
return tempString.indexOf("."!= -1 ? "" : ""
  }
 

  
/** *//** 
   * 判断传入的字符串中是否有-如果有则返回负 
   *  
   * 
@param tempString 
   * 
@return 
   
*/
 
  
private static String getSign(String tempString) ...
    
return tempString.indexOf("-"!= -1 ? "" : ""
  }
 

  
/** *//** 
   * 将一个数字转化为金额 
   *  
   * 
@param tempNumber 传入一个double的变量 
   * 
@return 返一个转换好的字符串 
   
*/
 
  
public static String numberToChinese(double tempNumber) ...
    java.text.DecimalFormat df 
= new java.text.DecimalFormat("#.#########"); 
    String pTemp 
= String.valueOf(df.format(tempNumber)); 
    StringBuffer sbResult 
= new StringBuffer(getSign(pTemp) + getInteger(pTemp) + getDot(pTemp) + getFraction(pTemp)); 
    
return sbResult.toString(); 
  }
 

分享到:
评论

相关推荐

    JS将数字转换为大写汉字人民币

    JS将数字转换为大写汉字人民币

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

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

    易语言数字转换汉字大写

    在编程领域,尤其是在中文编程环境中,有时我们需要将阿拉伯数字转换为汉字大写,这在财务、会计等领域的报表和凭证中尤为常见。易语言作为一款中国本土开发的、以中文编程为特色的编程语言,提供了方便的方式来实现...

    java实现数字转换人民币中文大写工具

    Java 实现数字转换人民币中文大写工具是指使用 Java 语言将数字转换为人民币中文大写格式的工具。该工具具有很高的实用价值,特别是在人事业务系统开发中,经常需要将数字转换为大写,以便于报表打印和日常业务处理...

    数字金钱转换成中文大写

    2. 对应转换:将每个数字转换为相应的中文大写,如1对应壹,2对应贰,以此类推。同时,根据位数添加相应的单位,例如12后加“万”。 3. 填充零:如果某一位是0,则写为“零”。例如,3456中“5”的前一位是0,所以...

    python实现人民币大写转换

    本文实例为大家分享了python实现人民币大写转换的具体代码,供大家参考,具体内容如下 #!/usr/bin/python # -*- coding:utf-8 -*- # ********* 转换方法介绍 ********* # 将需要转换的数字从右向左,每4位分成一个...

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

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

    excel 纯函数 数字转换大写 数字转换财务大写 数字转换中文 数字转换汉字

    excel 纯函数 数字转换大写 数字转换财务大写 数字转换中文 数字转换汉字,里面有详细的介绍,非常适合初学者,操作简单方便,易学易用,希望能给您带来帮助。 适合excel2000及以上版本。

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

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

    小写人民币转大写ACCESS函数

    给定的代码实现了一个名为`rmb`的VBA自定义函数,其主要作用是将小写的人民币数值转换为大写汉字表示。例如,输入“12345.67”将返回“壹万贰仟叁佰肆拾伍元陆角柒分”。 #### 函数逻辑分析 1. **变量声明与初始化*...

    人民币数字变大写形式

    标题提到的“人民币数字变大写形式”是一个常见的功能,尤其在财务系统或者银行应用中,它涉及到将阿拉伯数字的金额转换为汉字大写的表示,以确保财务记录的清晰性和准确性。这种转换在财务报表、发票和合同中尤其...

    数字转换为中文大写代码段

    标题 "数字转换为中文大写代码段" 描述了一个编程任务,即把数字转换成中文大写的表示形式。这个过程通常在财务或者会计领域中使用,例如在制作发票或者进行金融交易时,需要将数字金额以中文大写的形式展示,以避免...

    转变数字为大写人民币格式

    在IT行业中,尤其是在编程领域,有时我们需要将数字转化为特定的文本格式,如将数字转换成大写的人民币格式。这在财务软件、报表系统或者任何涉及金融数据展示的应用中非常常见。"转变数字为大写人民币格式"这个话题...

    数字大小写转换(转换为汉字大写)

    本文将深入探讨如何将数字转换为汉字大写,特别是在VC++环境下使用MFC库实现这一功能。首先,我们来理解标题“数字大小写转换(转换为汉字大写)”所指的知识点。 在会计、财务和其他需要精确表示金额的领域,数字...

    Android中数字转中文,金额转大写

    在Android开发中,有时我们需要将数字转换为中文或者将金额以大写的格式显示,这在财务应用或一些需要中文表示数字的场景中尤其常见。本文将深入探讨如何在Android环境中实现这一功能,包括数字转中文以及数字金额转...

    js实现将数字转换为中文大写

    标题和描述中提到的知识点是关于如何使用JavaScript(简称js)编程语言将阿拉伯数字转换为中文大写形式。这种转换通常在财务相关的软件中很常见,尤其是涉及到金额表述时,为了符合财务规范或增加可读性,需要将数字...

    sql server阿拉伯数字转大写中文存储过程

    SQL Server 是一个功能强大且广泛应用的关系数据库管理系统,而阿拉伯数字转大写中文是一个常见的需求,例如,在财务报表、发票printing等应用场景中,需要将阿拉伯数字转换为大写中文以满足特定的格式要求。...

    数字转成人民币大写代码

    这段代码是用于将数字转换为中文大写的人民币表示方式,主要应用于财务软件或者与货币相关的程序中,方便在中文环境中准确地表示金额。这个函数名为`GetChinaNum`,接收4个参数:`otherNum`、`isRMB`、`numOption`和...

    oracle 数字金额转为汉字大写

    在Oracle数据库环境中,有时我们需要将数字金额转换成汉字大写形式,这在财务报表或理财程序中尤为常见,因为汉字大写是财务领域的一种标准表示方式,可以避免因数字混淆而引发的错误。本篇文章将深入探讨如何在...

    Java人民币金额数字转换成大写

    Java 人民币金额数字转换成大写 Java 人民币金额数字转换成大写是 Java 面试中最常见的...通过使用 NumberFormat 类和 HashMap 来存储中文数字和人民币金额的对应关系,我们可以轻松地实现人民币金额数字转换成大写。

Global site tag (gtag.js) - Google Analytics