function ConvertCurrency(currencyDigits) {
// 상수:
var MAXIMUM_NUMBER = 99999999999.99; var CN_TWO = "이";
var CN_THREE = "삼";
var CN_FOUR = "4";
var CN_SIX = "鲁"; var CN_SEVEN = "柒";
var CN_EIGHT = "捌";
var CN_TEN = "十"
var CN_THOUSAND = "仟";
var CN_TEN_THOUSAND = "10,000";
var CN_HUNDRED_MILLION = "1억";
var CN_SYMBOL = "RMB"
var CN_TEN_CENT = "angle";
var CN_CENT = "cent";
var CN_INTEGER = "whole";
// 변수:
var 적분; 숫자 숫자.
vardecimal; // 숫자의 소수 부분을 나타냅니다.
var parts
var digits, bigRadices,decimals; >var zeroCount
var i, p, d;
var quotient, modulus
// 입력 문자열 확인:
currencyDigits =currencyDigits.toString(); 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 "";
// 입력 숫자 형식을 표준화합니다.
currencyDigits = currencyDigits.replace( /,/g, ""); // 쉼표 구분 기호를 제거합니다.
currencyDigits = 통화Digits.replace(/^0 /, "") // 시작 부분에서 0을 자릅니다. 숫자가 최대 숫자보다 크지 않다고 가정합니다.
if (Number(currencyDigits) > MAXIMUM_NUMBER) {
alert("입력한 금액이 너무 큽니다. 다시 입력하세요!"); return "";
}
// 통화 숫자에서 문자로 적용 범위를 처리합니다.
// 적용 범위를 처리하기 전에 정수 부분과 소수 부분을 분리합니다.
parts = 통화Digits.split(". ");
if (parts.length > 1) {
integral = parts[0];
decimal = parts[1];
// 뒤에 나오는 중복되는 십진수를 자릅니다. 두 번째.
decimal = 십진수.substr(0, 2);
}
else {
integral = parts[0]
decimal = ""
}
// 숫자에 해당하는 문자를 준비합니다.
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;
d = 적분.substr(i, 1)
몫 = p / 4; 4;
if (d == "0") {
zeroCount ;
}
else {
if (zeroCount > 0)
{
outputCharacters = 숫자[ 0];
}
zeroCount = 0;
outputCharacters = digits[Number(d)] radices[modulus];
}
if (modulus == 0 && zeroCount < 4) {
outputCharacters = bigRadices[quotient];
}
}
outputCharacters =
}
// 있는 경우 소수 부분 처리:
if (decimal != "") {
for (i = 0; i < 십진수.길이; i ) {
d = 십진수.substr(i, 1)
if (d != "0") {
outputCharacters = 숫자 [Number(d)] 소수[i];
}
}
}
// 최종 출력 문자열을 확인하고 반환합니다.
if (outputCharacters == "") {
outputCharacters = CN_ZERO CN_DOLLAR;
}
if (decimal == "") {
outputCharacters = CN_INTEGER;
outputCharacters = CN_SYMBOL outputCharacters; 출력문자 반환
}