茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    Javascript:將人民幣數(shù)字轉(zhuǎn)換成大寫形式
    來源:易賢網(wǎng) 閱讀:1476 次 日期:2015-03-18 11:15:22
    溫馨提示:易賢網(wǎng)小編為您整理了“Javascript:將人民幣數(shù)字轉(zhuǎn)換成大寫形式”,方便廣大網(wǎng)友查閱!

    用JavaScript編寫了一功能函數(shù),完成如下功能:

    1、對(duì)一給定字符串,如:1234.55,轉(zhuǎn)換成正確的中文貨幣描述:如:人民幣壹仟貳佰叁拾四元五角五分

    2、輸入的字符串形式可以是以下幾種:帶分隔符的,如:123,456,789.00;不帶分隔符的,如:123456789

    3、輸出的中文貨幣描述要符合規(guī)范,如:0.3----人民幣三角;0.33----人民幣三角三分;1----人民幣壹元整

    100----人民幣壹佰元整;1001----人民幣壹仟零壹元整;10000001----人民幣壹仟萬零壹元整;

    1001001----人民幣壹仟零壹萬零壹元整,等

    4、最大轉(zhuǎn)換能到百億

    具體的代碼如下:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    <html>

    <head>

    <title></title>

    <script language="jscript">

    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_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("Empty input!");

    return "";

    }

    if (currencyDigits.match(/[^,./d]/) != null) {

    alert("Invalid characters in the input string!");

    return "";

    }

    if ((currencyDigits).match(/^((/d{1,3}(,/d{3})*(.((/d{3},)*/d{1,3}))?)|(/d+(./d+)?))$/) == null) {

    alert("Illegal format of digit number!");

    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("Too large a number to convert!");

    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];

    }

    }

    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>

    </head>

    <body>

    <INPUT id="Digits" type="text" name="Digits" size=20>

    <INPUT id="Convert" type="button" value="Convert" name="Convert" onclick="Result.value = convertCurrency(Digits.value);">

    <INPUT id="Result" type="text" name="Result" size=60>

    </body>

    </html>

    以上代碼運(yùn)用了正則表達(dá)式的功能,除了可以正確的轉(zhuǎn)換成人民幣的大寫形式以外,還可以判斷輸入的形式是否正確有效。

    更多信息請(qǐng)查看IT技術(shù)專欄

    更多信息請(qǐng)查看腳本欄目
    易賢網(wǎng)手機(jī)網(wǎng)站地址:Javascript:將人民幣數(shù)字轉(zhuǎn)換成大寫形式
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2026國考·省考課程試聽報(bào)名

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)