把数字转换成大写金额的函数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

把数字转换成大写金额的函数
数字转换成大写金额是一个常见的需求,特别是在财务领域。

为了方便起见,可以编写一个函数来实现该功能。

以下是一个将数字转换为大写金额的函数:
```
function convertToRMB(num) {
var RMB = '';
var number = new Array('', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖');
var units = new Array('', '拾', '佰', '仟');
var digits = new Array('', '万', '亿');
var decimals = new Array('角', '分');
var integer = Math.floor(num);
var decimal = Math.round((num - integer) * 100);
var integerStr = integer.toString();
var integerLen = integerStr.length;
if (integerLen > 12) {
return '数字太大无法转换';
}
var digitIdx = 0;
var zeroFlag = false;
for (var i = integerLen - 1; i >= 0; i--) {
var digit = integerStr.charAt(i);
if (digit == '0') {
zeroFlag = true;
} else {
if (zeroFlag) {
RMB = '零' + RMB;
zeroFlag = false;
}
RMB = number[digit] + units[digitIdx % 4] + RMB; digitIdx++;
}
if (digitIdx % 4 == 0) {
RMB = digits[digitIdx / 4 - 1] + RMB;
}
}
if (decimal > 0) {
var decimalStr = decimal.toString();
var decimalLen = decimalStr.length;
for (var i = 0; i < decimalLen; i++) {
var digit = decimalStr.charAt(i);
if (digit != '0') {
RMB += number[digit] + decimals[i];
}
}
} else {
RMB += '整';
}
return RMB;
}
```
该函数的基本思路是将数字分为整数部分和小数部分,然后使用数组来存储数字和单位的对应关系,再使用循环将数字转换为大写金额。

注意,该函数只适用于转换人民币金额,如果需要转换其他货币的金额,需要修改数组中的数值和单位。

相关文档
最新文档