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

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 数字金额转换为中文大写金额 在日常财务处理、银行交易或是发票开具等场景中,将数字金额转换成中文大写金额是一项常见的需求。这种转换不仅可以提高正式文档的专业性,还能避免因数字易被篡改而...

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

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

    JS小写金额变成大写

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

    金额大,小写转换

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

    数字转换为大写

    在提供的压缩包文件中,"小写数字转换为大写"可能包含了一个实现这个功能的代码文件,可能是用Python、Java、JavaScript或其他编程语言编写的。开发者可以查阅这个文件,学习如何构建这样的函数,或者直接在自己的...

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

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

    json转换为SQL server建表脚本

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

    金额小写转大写支持到13位

    javascript金额小写转大写,支持到小数点前13位。

    填写表单的时候如何实现输入框里面字母大写转小写

    其中,uppercase将所有字母转换为大写,lowercase将所有字母转换为小写,capitalize则是将每个单词的首字母大写。要实现字母大写转小写,CSS代码如下: ```css input { text-transform: lowercase; } ``` 在这段...

    AI CC 2015 JavaScript脚本手册

    Adobe Illustrator CC 2015 JavaScript脚本手册是一份官方文档,旨在帮助用户学习如何编写JSX脚本,以自动化和扩展Adobe Illustrator软件的功能。该手册提供了深入的技术指南和编程参考,使得开发者能够通过编程语言...

    C# 动态解析 javascript 脚本引擎源码

    而JavaScript则是Web开发中的主要脚本语言,它在浏览器环境中运行,为网页添加交互性。本主题涉及的是如何在C#中动态解析和执行JavaScript代码,这通常通过使用脚本引擎来实现。 一个常见的C#脚本引擎是Microsoft的...

    用JS将人民币金额转换成大写

    在IT行业中,尤其是在前端开发领域,经常需要处理与用户交互的数据,其中涉及到金额展示时,为了规范和清晰,我们通常会将人民币金额转换为大写形式。这是因为在中国,正式的财务收据和合同中,金额通常以大写汉字...

    Javascript-将人民币数字转换成大写形式.docx

    将人民币数字转换成大写形式的 JavaScript 函数 本文将介绍一个使用 JavaScript 编写的函数,用于将人民币数字转换成大写形式。该函数可以将一个给定的字符串,例如 "1234.55",转换成正确的中文货币描述,例如 ...

    将阿拉伯数字转换为大写

    可以将阿拉伯数字转换为大写,数字位数大于12位时不转换

    QT中使用QScriptEngine引擎编译运行JavaScript脚本

    QT库,作为C++开发的强大工具,提供了对多种高级...在实际项目中,可以结合标签"javascript"和"qt"进一步探索更多高级特性和应用场景,比如使用QScriptEngine进行类型转换、错误处理、异步执行以及更复杂的对象交互等。

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

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

    用Jscript编写的人民币小写转大写代码。

    本文将深入探讨一个基于JScript(JavaScript的一种变体)的实用功能——将人民币小写金额转换为大写。这个功能对于财务系统、电子商务平台等涉及到货币显示的场景尤其有用,它能够确保金额的格式正确,增加信息的...

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

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

    js数字转换成大写

    在日常开发工作中,经常需要处理财务相关的数据,比如将数字转换为大写人民币金额格式。这在发票、合同等正式文档中非常常见。下面我们就来详细分析一下如何用JavaScript实现这一功能。 #### 功能概述 此函数的主要...

Global site tag (gtag.js) - Google Analytics