男人吃奶摸下挵进去好爽,日日躁夜夜躁狠狠躁,freesexvide0s性欧美高清,高清freexxxx性国产,无码人妻一区二区三区一,乱人伦中文字幕成人网站在线,亚洲欧美综合一区二区三区 ,神马影院在线视频观看
知識學堂
  • ·聯系電話:+86.023-75585550
  • ·聯系傳真:+86.023-75585550
  • ·24小時手機:13896886023
  • ·QQ 咨 詢:361652718 513960520
當前位置 > 首頁 > 知識學堂 > 網站建設知識
強悍!js代碼將人民幣數字轉換成大寫
更新時間:2012-01-24 | 發布人:本站 | 點擊率:323
用JavaScript編寫了一功能函數,完成如下功能:

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

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

3、輸出的中文貨幣描述要符合規范,如:0.3----人民幣三角;0.33----人民幣三角三分;1----人民幣壹元整
100----人民幣壹佰元整;1001----人民幣壹仟零壹元整;10000001----人民幣壹仟萬零壹元整;
1001001----人民幣壹仟零壹萬零壹元整,等

4、最大轉換能到百億

具體的代碼如下:

<!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>

以上代碼運用了正則表達式的功能,除了可以正確的轉換成人民幣的大寫形式以外,還可以判斷輸入的形式是否正確有效。
分享到: QQ空間 新浪微博 開心網 人人網
主站蜘蛛池模板: 一本色道久久88加勒比—综合| 中文字幕乱码人在线视频1区| 国产精久久一区二区三区| 国产熟人av一二三区| 久久人妻无码一区二区三区av| 欲色天天网综合久久| 亚洲欧美成人久久综合中文网| 国产精品女同一区二区| 免费无码又爽又刺激软件下载直播| 亚洲色偷偷av| 内射人妻骚骚骚| 欧洲熟妇色xxxx欧美老妇多毛网站| 免费看一区二区三区四区| 国产成人综合色在线观看网站| 国产成年无码久久久久下载 | 鲁一鲁一鲁一鲁一曰综合网| 色婷婷综合激情综在线播放| 国产熟人av一二三区| 久久男人av资源站| 最近中文字幕免费完整| 亚洲一区二区三区av无码| 日本一道本| 中文天堂资源| 污18禁污色黄网站免费| 成年免费视频黄网站在线观看| 18禁床震无遮掩视频| 亚洲国产精品无码久久久| 久久精品国产亚洲av九| 久久午夜无码鲁丝片直播午夜精品| 天堂а在线中文在线新版| 亚洲av无码专区亚洲av伊甸园| 亚洲日韩精品无码av海量| 体验区试看120秒啪啪免费| 国产成年无码久久久久下载| 夜夜躁日日躁狠狠久久av| 亚洲人成电影在线播放| 丰满熟女人妻大乳| 河南妇女毛浓浓bw| 欧美日韩国产精品自在自线| 天堂а在线中文在线新版| 真人二十三式性视频(动)|