/**//* =========================================== //转换成大写金额 =========================================== */ Number.prototype.toMoney =function() { // 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; if (this> MAXIMUM_NUMBER) { return""; } // Process the coversion from currency digits to characters: // Separate integral and decimal parts before processing coversion: parts = (this+"").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; }