代码改变世界

javascript金钱大小写转换

2010-03-18 10:36  BlueDream  阅读(1706)  评论(0编辑  收藏  举报
var UPPER_NUM = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
    var MAX_UNIT = ['元', '拾', '佰', '仟', '萬', '拾', '佰', '仟', '亿', '拾', '佰', '仟'];
    var MIN_UNIT = ['角', '分'];
    function changeMoney(n) {
        var _html = '', integer = n, fract;
        if(n.indexOf('.') != -1) {
             integer = n.split('.')[0];fract = n.split('.')[1];
        }
        for(var i = 0, j = integer.length, len = j; i < len; i++) {
            var _index = integer.charAt(i); --j;
            _html += UPPER_NUM[_index] + (_index > 0 ? MAX_UNIT[j] : '');
        }
        _html = _html.replace(/零{2,}/g,'零').replace(/零$/,'元');
        if(fract !== undefined) {
            for(var i = 0, j = 0, len = fract.length; i < len; i++) {
                _html += UPPER_NUM[fract.charAt(i)] + MIN_UNIT[j++];
            }
        } else {
            _html += '整';
        }
        return _html;
    }

    alert(changeMoney('12330.35'));
    alert(changeMoney('1.2'));
    alert(changeMoney('5000'));