@writ/utils
Version:
My tool kit
47 lines (44 loc) • 1.32 kB
JavaScript
;
// 中文数字与阿拉伯数字的隐射表
var areas = { 零: 0, 一: 1, 二: 2, 三: 3, 四: 4, 五: 5, 六: 6, 七: 7, 八: 8, 九: 9 };
var units = {
十: { value: 10, secUnit: false },
百: { value: 100, secUnit: false },
千: { value: 1000, secUnit: false },
万: { value: 10000, secUnit: true },
亿: { value: 100000000, secUnit: true }
};
/**
* 将汉语数字转为阿拉伯数字
* @param {*} chnStr
* @returns {string}
*/
function toArabic(chnStr) {
var rtn = 0;
var section = 0;
var number = 0;
var secUnit = false;
var str = chnStr.split('');
for (var i = 0; i < str.length; i++) {
var num = areas[str[i]];
if (typeof num !== 'undefined') {
number = num;
if (i === str.length - 1) {
section += number;
}
} else {
var unit = units[str[i]].value;
secUnit = units[str[i]].secUnit;
if (secUnit) {
section = (section + number) * unit;
rtn += section;
section = 0;
} else {
section += (number * unit);
}
number = 0;
}
}
return rtn + section;
}
module.exports = toArabic;