function ConvertCurrency(currencyDigits) {
// 定数 :
var MAXIMUM_NUMBER = 99999999999.99;
// 出力用の基数文字と通貨記号を事前定義します:
var CN_ZERO = "zero"
var CN_ONE = "壹"; var CN_TWO = "二";
var CN_FIVE = "五";
var CN_SIX = "鲁"; var CN_SEVEN = "柒";
var CN_EIGHT = "玖";
var CN_TEN = "十"; var CN_THOUSAND = "仟";
var CN_TEN_THOUSAND = "10000";
var CN_SYMBOL = "人民元"; >var CN_TEN_CENT = "角度";
var CN_CENT = "cent";
// 変数:
var の整数部分を表します。桁数。
var 10 進数; // 桁数の小数部を表します。
var 桁、bigRadices、var zeroCount;
var i, p, d;
// 入力文字列を検証します:
currencyDigits = currentDigits.toString();通貨桁 == " ") {
//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 "";
}
// 入力桁の形式を正規化します:
currencyDigits =通貨Digits.replace( /,/g, ""); // カンマ区切り文字を削除します。
currencyDigits = 通貨Digits.replace(/^0 /, ""); // 先頭のゼロを削除します。数値が最大数値を超えていないことをアサートします。
if (Number(currencyDigits) > MAXIMUM_NUMBER) {
alert("入力した金額が大きすぎます。再入力してください!"); return "";
}
// カバレッジを通貨の数字から文字に処理します:
// カバレッジを処理する前に整数部分と小数部分を分離します:
parts = NursingDigits.split(". ");
if (parts.length > 1) {
integral = Parts[0];
Decimal = Parts[1];
// 後続の冗長な 10 進数を切り捨てます。 2番目。
10進数 = 10進数.substr(0, 2);
else {
整数 = "";
; // 数字に対応する文字を準備します:
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); // 処理を開始します:
outputCharacters = " ";
/ / 整数部が 0 より大きい場合に処理:
if (Number(integral) > 0) {
zeroCount = 0;
for (i = 0; i
積分.長さ i ) {
p = 積分.長さ - i - 1;
商 = p / 4;
係数 = p % 4;
if (d == "0") {
zeroCount ;
}
else {
if (zeroCount > 0)
{
outputCharacters = 数字[ 0];
}
zeroCount = 0;
outputCharacters = 数字[数値(d)] radices[modulus];
}
if (modulus == 0 && zeroCount outputCharacters = bigRadices[quotient];
}
}
outputCharacters = CN_DOLLAR;
}
// 小数部分がある場合は処理します:
if (10 進数 != "") {
for (i = 0; i < 10 進数.長さ; i ) {
d = 10 進数.substr(i, 1);
if (d != "0") {
outputCharacters = 数字 [Number(d)] 10 進数[i];
}
}
}
// 最終的な出力文字列を確認して返します:
if (outputCharacters == "") {
outputCharacters = CN_ZERO CN_DOLLAR;
if (10 進数 == "") {
outputCharacters = CN_INTEGER;
outputCharacters = CN_SYMBOL出力文字を返します。
}