`
oboaix
  • 浏览: 275241 次
社区版块
存档分类
最新评论

javascript脚本RMB小写转换为大写(转)

 
阅读更多
(转)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
 </HEAD>

 <BODY>
	输入<input name="ttt1" id="a" value=""/>
    <input name="ttt2" value="转换" type="button" onclick="test(document.getElementById('a').value)"/>
    显示<input name="ttt3" id="b" value="" size=100/>
 </BODY>
</HTML>
<SCRIPT LANGUAGE="JavaScript">
<!--

  function test(val) {
	document.getElementById('b').value = convertCurrency(val);
  }
	function convertCurrency(currencyDigits) { 
// Constants: 
    var MAXIMUM_NUMBER = 99999999999.99; 
    // Predefine the radix characters and currency symbols for output: 
    var CN_ZERO = "零"; 
    var CN_ONE = "壹"; 
    var CN_TWO = "贰"; 
    var CN_THREE = "叁"; 
    var CN_FOUR = "肆"; 
    var CN_FIVE = "伍"; 
    var CN_SIX = "陆"; 
    var CN_SEVEN = "柒"; 
    var CN_EIGHT = "捌"; 
    var CN_NINE = "玖"; 
    var CN_TEN = "拾"; 
    var CN_HUNDRED = "佰"; 
    var CN_THOUSAND = "仟"; 
    var CN_TEN_THOUSAND = "万"; 
    var CN_HUNDRED_MILLION = "亿"; 
    //var CN_SYMBOL = "人民币"; 
	var CN_SYMBOL = ""; 
    var CN_DOLLAR = "元"; 
    var CN_TEN_CENT = "角"; 
    var CN_CENT = "分"; 
    var CN_INTEGER = "整"; 
     
// Variables: 
    var integral;    // Represent integral part of digit number. 
    var decimal;    // Represent decimal part of digit number. 
    var outputCharacters;    // The output result. 
    var parts; 
    var digits, radices, bigRadices, decimals; 
    var zeroCount; 
    var i, p, d; 
    var quotient, modulus; 
     
// Validate input string: 
    currencyDigits = currencyDigits.toString(); 
    if (currencyDigits == "") { 
        alert("请输入小写金额!"); 
        return ""; 
    } 
    if (currencyDigits.match(/[^,.\d]/) != null) { 
        alert("小写金额含有无效字符!"); 
        return ""; 
    } 
    if ((currencyDigits).match(/^((\d{1,3}(,\d{3})*(.((\d{3},)*\d{1,3}))?)|(\d+(.\d+)?))$/) == null) { 
        alert("小写金额的格式不正确!"); 
        return ""; 
    } 
     
// Normalize the format of input digits: 
    currencyDigits = currencyDigits.replace(/,/g, "");    // Remove comma delimiters. 
    currencyDigits = currencyDigits.replace(/^0+/, "");    // Trim zeros at the beginning. 
    // Assert the number is not greater than the maximum number. 
    if (Number(currencyDigits) > MAXIMUM_NUMBER) { 
        alert("金额过大,应小于1000亿元!"); 
        return ""; 
    } 
     
// Process the coversion from currency digits to characters: 
    // Separate integral and decimal parts before processing coversion: 
    parts = currencyDigits.split("."); 
    if (parts.length > 1) { 
        integral = parts[0]; 
        decimal = parts[1]; 
        // Cut down redundant decimal digits that are after the second. 
        decimal = decimal.substr(0, 2); 
    } 
    else { 
        integral = parts[0]; 
        decimal = ""; 
    } 
    // Prepare the characters corresponding to the digits: 
    digits = new Array(CN_ZERO, CN_ONE, CN_TWO, CN_THREE, CN_FOUR, CN_FIVE, CN_SIX, CN_SEVEN, CN_EIGHT, CN_NINE); 
    radices = new Array("", CN_TEN, CN_HUNDRED, CN_THOUSAND); 
    bigRadices = new Array("", CN_TEN_THOUSAND, CN_HUNDRED_MILLION); 
    decimals = new Array(CN_TEN_CENT, CN_CENT); 
    // Start processing: 
    outputCharacters = ""; 
    // Process integral part if it is larger than 0: 
    if (Number(integral) > 0) { 
        zeroCount = 0; 
        for (i = 0; i < integral.length; i++) { 
            p = integral.length - i - 1; 
            d = integral.substr(i, 1); 
            quotient = p / 4; 
            modulus = p % 4; 
            if (d == "0") { 
                zeroCount++; 
            } 
            else { 
                if (zeroCount > 0) 
                { 
                    outputCharacters += digits[0]; 
                } 
                zeroCount = 0; 
                outputCharacters += digits[Number(d)] + radices[modulus]; 
            } 
            if (modulus == 0 && zeroCount < 4) { 
                outputCharacters += bigRadices[quotient]; 
                zeroCount = 0; 
            } 
        } 
        outputCharacters += CN_DOLLAR; 
    } 
    // Process decimal part if there is: 
    if (decimal != "") { 
        for (i = 0; i < decimal.length; i++) { 
            d = decimal.substr(i, 1); 
            if (d != "0") { 
                outputCharacters += digits[Number(d)] + decimals[i]; 
            } 
        } 
    } 
    // Confirm and return the final output string: 
    if (outputCharacters == "") { 
        outputCharacters = CN_ZERO + CN_DOLLAR; 
    } 
    if (decimal == "") { 
        outputCharacters += CN_INTEGER; 
    } 
    outputCharacters = CN_SYMBOL + outputCharacters; 
    return outputCharacters; 
} 
//-->
</SCRIPT>

 

分享到:
评论

相关推荐

    JavaScript无限位小写金额转换中文大写

    《JavaScript无限位小写金额转换大写金额》说明:1.本程序用JavaScript语言编写。转换方法严格遵照中国人民银行规定的银行支票中关于中文大写填写规范的相关规定(见下面附文),两可之处按简便方法处理。2.输入小写...

    javascript 金额转换(小写转化大写)

    本文将深入探讨如何使用JavaScript来实现小写金额转换为大写的转换算法。 JavaScript是一种广泛使用的客户端脚本语言,它允许开发者在网页中动态处理数据和交互。在处理金额转换时,我们可以利用JavaScript的字符串...

    js金额小写转大写脚本

    "js金额小写转大写脚本"指的是JavaScript编程语言中用于将小写的货币金额(阿拉伯数字)转换为大写的汉字数字的代码片段。这样的脚本有助于提高财务报表的可读性和规范性,因为在中国,正式的财务文档通常要求金额以...

    小写数字转换大写金额

    在IT领域,尤其是在网页开发中,经常需要将用户输入的小写数字转换为大写金额格式,这主要用于财务、发票或银行交易等应用场景。这个过程可以通过JavaScript实现,利用JavaScript的事件处理和字符串操作功能。在本例...

    JavaScript钱数小写转大写

    在JavaScript编程中,将数字(通常以小写形式表示)转换为大写汉字是我们处理货币格式化时常见的需求。这在开发财务系统或者涉及到金额显示的网页应用中尤其重要,因为在中国,大写的汉字用于表示金额以增加其可读性...

    文本大写小写双向转换工具

    "文本大写小写双向转换工具"正如其名,它是一个专门设计用于将文本在大写和小写之间相互转换的实用工具。在编程、数据分析、文本处理等场景下,这种工具具有很高的实用性。 首先,我们要理解什么是大小写。在英文...

    JS小写金额变成大写

    本文将详细介绍一个JavaScript函数,该函数能够实现将数字金额从小写格式转换为大写格式。 #### 函数定义 函数`chinese(num)`接受一个字符串或数字类型的参数`num`,该参数表示需要转换的小写金额。函数内部首先对...

    js实现将小写金额转化为大写金额

    在JavaScript编程中,将小写金额转换为大写金额是一个常见的需求,特别是在财务或电子商务相关的应用中。大写金额主要用于正式的财务报表和发票,以提高数据的清晰度和准确性。下面我们将深入探讨如何利用JavaScript...

    javascript 数字转换大写人民币

    应用javascript转换数字为大写人民币

    关于金额大,小写转换的问题

    下面是一个简单的JavaScript函数,用于将小写金额转换为大写汉字金额: ```javascript function convertToChinese(num) { var units = ['元', '拾', '佰', '仟', '万', '拾', '佰', '仟', '亿', '拾', '佰', '仟', ...

    金额大,小写转换

    该脚本的主要功能是:当用户在输入框中输入数字(小写)时,能够自动将其转换为相应的中文大写形式。这种功能常见于财务系统或需要规范书写金额的场景中。 #### 代码结构与逻辑分析 ##### 输入验证 - **数字格式...

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

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

    json转换为SQL server建表脚本

    标题"json转换为SQL server建表脚本"涉及到的主要知识点包括: 1. JSON解析:首先,你需要理解如何在C#中解析JSON数据。C#提供了 Newtonsoft.Json 库(也称为 Json.NET),这是一个强大的JSON库,可以方便地将JSON...

    js中实现小写金额到大写金额的转换.docx

    js中实现小写金额到大写金额的转换.docx

    js中实现小写金额到大写金额的转换.pdf

    js中实现小写金额到大写金额的转换.pdf

    输入框内容自动转换为大写字母

    标题"输入框内容自动转换为大写字母"描述的就是这样一个功能,它旨在将用户在输入框中键入的任何小写字母自动转化为大写字母。这一特性常见于需要用户输入正式信息,如姓名、地址或密码确认等场合,以确保信息的一致...

    js 实现 将HTML转换为JavaScript脚本

    js 实现 将HTML转换为JavaScript脚本! 值得下载看看!资源免费,大家分享!!

    文本框中输入小写字母即时转换为大写实现思路

    要实现文本框中输入小写字母即时转换为大写的功能,我们可以采用前端技术。首先,要在网页中放置一个文本框控件,然后通过编写相应的脚本程序来实现即时转换的逻辑。接下来,我将详细地介绍这个实现思路,包括前端...

    javascript将数字转换整数金额大写的方法

    在JavaScript中,实现这一功能需要编写一个能够将数字转换为中文大写的函数。本篇文档详细介绍了这样一个函数的编写过程,这个函数是通过自定义实现的,并提供了完整的代码和测试用例。 首先,我们定义了一个数组...

    网页模板——原生JS实现的人民币数字大写转换特效源码.zip

    在网页开发中,有时我们需要将输入的数字金额转换为大写的汉字表示,这在处理财务信息时尤为常见,如在发票、合同等正式文档中。原生JavaScript实现的人民币数字大写转换特效源码就是解决这类问题的一个工具。这个...

Global site tag (gtag.js) - Google Analytics