関数numToCny(金){
VARのcnNums =新しい新しいアレイ( "ゼロ"、 "1"、 "2"、 "3"、 "市場"、 "呉"、 "土地"、 "チー"、 "スプリット"、「ナイン"); //文字のデジタル
VAR cnIntRadice =新しいアレイ(" ""拾う""白""千"); //基本単位
のvar cnIntUnitsは=新しいアレイ(" ""ワン""億" 「前駆体」)、整数部に対応//拡張ユニット
のvar cnDecUnits =新しいアレイ(「角度」、「分」、「ミリモル」、「PCT」);小数部に対応//ユニット
VAR cnInteger =「整数」; /文字が続くとき/整数値
VAR cnIntLast =「メタ」; //後のエンド整数ユニット
のvar MAXNUM = 999999999999999.9999; //最大のデジタル処理
VaRのIntegerNum;量の//整数部分
のVaR DecimalNum; //量小数部
VaRのChineseStr =「」; //出力中国語量ストリング
VAR部、事前定義された配列を有する分離//量
もし(金== ""){
リターン"";
}
= parseFloatはマネー(お金);
//アラート(金)、
IF(マネー> = MAXNUM){
$ .alert( 'デジタル最大処理を超え');
リターン"";
}
(マネー== 0){IF
ChineseStr = cnNums [0] + + cnIntLast cnInteger;
//document.getElementById("show").value=ChineseStr;
; ChineseStr戻り
}
マネーmoney.toString =を(); //文字列に
""(money.indexOf(IF )== -1){
IntegerNum =マネー;
DecimalNum = '';
}他{
パーツmoney.split =( "");
IntegerNum =パーツ[0]。
DecimalNum =部分[1] .SUBSTR(0、4);
}
IF(のparseInt(IntegerNum、10)> 0){//获取整型部分转换
zeroCount = 0。
IntLen = IntegerNum.length。
用(i = 0; iはIntLen <; iは++){
N = IntegerNum.substr(I、1)。
P = IntLen -私は- 1。
Q = P / 4。
M = P%4。
{(nは"0" ==)場合
zeroCount ++。
}他{
IF(zeroCount> 0){
ChineseStr + = cnNums [0]。
}
ZeroCount = 0; //ゼロ
ChineseStr + = cnNums〔のparseInt(N)] + cnIntRadice [M];
}
(M == 0 && zeroCount <4。){IF
ChineseStr cnIntUnits + = [Q];
}
}
ChineseStr + cnIntLast =;
処理//整数部
}
IF(DecimalNum = ''!){//小数部分
decLen = DecimalNum.length;
のための(I = 0;私はdecLen <; Iは++){
N-DecimalNum.substr =(I 、1);
!IF(N = '0'){
ChineseStr + = cnNums [数(N)] + cnDecUnits [I]。
}
}
}
もし(ChineseStr == ''){
ChineseStr + = cnNums [0] + cnIntLast + cnInteger。
}そうであれば(DecimalNum == ''){
ChineseStr + = cnInteger。
}
ChineseStrを返します。
}