JS版轉換爲細分大寫金額

//中文大寫金額轉換:轉換爲列表,最多可轉換到億
        function toAmountInWords(val) {
            var output = null;
            do {
                num = parseInt(val);
                if (isNaN(num))
                    break;
                if ((num + '') != (val + '')) {
                    console.warn('傳入參數被截斷');
                }
                var list = [
                   { value: '', text: '億' },
                   { value: '', text: '仟' },
                   { value: '', text: '佰' },
                   { value: '', text: '拾' },
                   { value: '', text: '萬' },
                   { value: '', text: '仟' },
                   { value: '', text: '佰' },
                   { value: '', text: '拾' },
                   { value: '', text: '圓' },
                ];
                var chars = ['壹', '貳', '叄', '肆', '伍', '陸', '柒', '捌', '玖']
                var step = 0;
                var div = 100000000;
                var d = parseInt(num / div);
                if (!!d) {
                    list[step].value = chars[d - 1];
                }
                step++;
                var temp = num;
                for (var i = 0; i < 8; ++i) {
                    temp = temp - (d * div);
                    div = div / 10;
                    d = parseInt(temp / div);

                    if (!!d) {
                        if (step > 0)
                            list[step].value = chars[d - 1];
                    }
                    else {
                        if (list[step - 1].value != '') {
                            list[step].value = '零';
                        }
                    }
                    step++;
                }
                output = list;
            } while (false);
            return output;
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章