`
gaoyuntao2005
  • 浏览: 311373 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

将金钱的数目转换为中文大写的JS

 
阅读更多

function formatCC(p_amount){
    var rtstr = "",tmpstr = "";
    var knum;
    var tmpint;
    if(p_amount > 999999999999.99)
      return "数字太大,无法转换!";
    if(p_amount / 10000 >= 1){
      knum = p_amount % 10000;
      p_amount = (p_amount - knum)/10000;

      tmpstr = formatCC(p_amount);
      if(tmpstr != null && tmpstr.length != 0)
        rtstr += tmpstr + "万";

      rtstr += formatCC(knum);
    }else{
      tmpint = parseInt(p_amount / 1000);
      if(tmpint >= 1)
        rtstr += numToCC(tmpint)+ "仟";
      else{
        if(rtstr.length == 0)
          rtstr += "零";
      }

      p_amount = p_amount - tmpint * 1000;
      tmpint = parseInt(p_amount / 100);
      if(tmpint >= 1)
        rtstr += numToCC(tmpint)+ "佰";
      else{ 
        if(rtstr.length == 0 || !(rtstr.substring(rtstr.length -1 ,rtstr.length) == "零")){
          rtstr += "零";
    }
      }
      p_amount = p_amount - tmpint * 100;
      tmpint = parseInt(p_amount / 10);
      if(tmpint >= 1)
        rtstr += numToCC(tmpint)+ "拾";
      else{    
        if(rtstr.length == 0 || !(rtstr.substring(rtstr.length -1 ,rtstr.length) == "零"))
          rtstr += "零";
      }

      p_amount = p_amount - tmpint * 10;
      tmpint = parseInt(p_amount / 1);
      if(tmpint >= 1)
        rtstr += numToCC(tmpint);

      p_amount = p_amount - tmpint;
      if(p_amount > 0){
    if(rtstr.indexOf("零") == rtstr.length - 1)
          rtstr = rtstr.substring(0,rtstr.length - 1);
        rtstr += "圆";
   }
      if(p_amount > 0.009){

        p_amount = p_amount * 100;
        tmpint = parseInt(p_amount / 10);
        if(tmpint >= 1)
          rtstr += numToCC(tmpint)+ "角";
        p_amount = p_amount - tmpint * 10;
        tmpint = parseInt(p_amount / 1);
        if(p_amount - tmpint > 0.5)
          tmpint++;
        if(tmpint >= 1)
          rtstr += numToCC(tmpint) + "分";
      }
    }
    return rtstr;
  }
 function setFormatCC(p_amount){
    var amount=0;
    var rtstr;
    amount=parseFloat(p_amount);
    amount += 0.0001;
    rtstr = formatCC(amount);
    if(rtstr.lastIndexOf("万") != rtstr.indexOf("万")){
      rtstr = rtstr.substring(0,rtstr.indexOf("万"))+"亿"+rtstr.substring(rtstr.indexOf("万")+1,rtstr.length);
    }
    if(rtstr.indexOf("零") == 0)
      rtstr = rtstr.substring(1,rtstr.length);
    rtstr += "整";
    return rtstr;
  }
 function numToCC(i){
    switch(i){
      case 1 : return "壹";
      case 2 : return "贰";
      case 3 : return "叁";
      case 4 : return "肆";
      case 5 : return "伍";
      case 6 : return "陆";
      case 7 : return "柒";
      case 8 : return "捌";
      case 9 : return "玖";
      case 0 : return "零";
      default: return "";
    }
}

分享到:
评论

相关推荐

    将数字金额转换为中文大写金额

    将数字金额转换为中文大写金额将数字金额转换为中文大写金额将数字金额转换为中文大写金额

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

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

    数字金钱转换成中文大写

    本文将详细介绍如何将数字金钱转换成中文大写,并提供相关方法和技术。 一、数字金钱的中文大写规则 1. 单位对应:数字的每一个位数都有对应的中文大写字符。例如: - 个位:零(0)、壹(1)、贰(2)、叁(3)...

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

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

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

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

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

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

    SQL中将日期转换为中文大写

    例如,在某些SQL方言中,我们可以先将日期转换为英文全拼,然后再用自定义的映射表或函数将英文日期转换为中文大写。例如,"2023-01-01" 可能会被转换为 "TWENTY THREE THOUSAND TWO HUNDRED AND THIRTY THREE MINUS...

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

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

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

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

    易语言数字转换汉字大写

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

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

    在mons方法中,我们首先将阿拉伯数字字符串转换为字符数组,然后将其反转,接着遍历字符数组,使用Integer.parseInt方法将每个字符转换为整数,然后使用name数组和unit数组将其转换为中文大写数字,并加上相应的单位...

    java将字符串中数字转换为中文大写,在输出字符串

    java将字符串中数字转换为中文大写,在输出字符串java将字符串中数字转换为中文大写,在输出字符串java将字符串中数字转换为中文大写,在输出字符串java将字符串中数字转换为中文大写,在输出字符串java将字符串中数字...

    WPS2021表格中的数字转换为中文大写.docx

    通过 WPS 2021 软件中的数字转换为中文大写功能,用户可以快速将数字转换为中文大写形式,例如将数字 1000 转换为“壹仟元整”,将身份证号码转换为中文大写形式等。 此外,WPS 2021 软件还提供了多种其他的数字...

    java将数字转换成大写字母

    其中,`PositiveIntegerToHanStr` 函数负责将小数点前面的数转换为大写中文,而 `NumToRMBStr` 函数负责把输入的 double 型的数转换为大写中文。 知识点三: `PositiveIntegerToHanStr` 函数的实现 `...

    数字转换为中文大写的4种算法

    在编程和信息技术领域,将阿拉伯数字转换为中文大写数字是一项常见的需求,特别是在财务报表、会计软件和中文格式化输出中。以下四种算法详细解释了如何实现这一转换: 1. **字典映射法** 这是最直观的方法,通过...

    C#数字转换为汉字大写数字—财务用

    将数字转换为汉字大写数字。不支持负数。 输入(字符串):"10200004.02" 输出(字符串):"壹仟零贰拾萬零肆元零角贰分

    Excel数字转换为中文大写.docx

    在 Excel 中,我们经常会遇到需要将阿拉伯数字转换为中文大写数字的问题。例如,我们输入的数字是 "1234567890",需要将其转换为 "壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾"。这时候,我们可以使用两种方法来解决这个...

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

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

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

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

Global site tag (gtag.js) - Google Analytics