【js】js将金额转千百十元角分的打印格式:
文章目录
- 一、效果图:
- 二、实现过程:
一、效果图:
将金额转为右边打印格式
二、实现过程:
function transSplitAmt(amount) {let obj = {a12: "", //十a11: "", //亿a10: "", //千a9: "", //百a8: "", //十a7: "", //万a6: "", //千a5: "", //百a4: "", //十a3: "", //元a2: "", //角a1: "", //分};if (!amount) return obj;typeof amount == "number" ? amount = String(amount) : "";//数字转字符串类型amount.indexOf(",") >= 0 ? amount = amount.split(",").join("") : "";//去除逗号if (!/^[0-9,.]+$/.test(amount)) return obj;let integerData, decimalData;//整数部分和小数部分if (amount.indexOf(".") >= 0) {integerData = amount.substring(0, amount.indexOf("."));decimalData = amount.substring(amount.indexOf(".") + 1);} else {integerData = amount;decimalData = "00";}// 整数去除最前面的0,小数补最后一位0integerData = integerData.length != 1 ? integerData.replace(/^0+/, "") : integerData;decimalData = decimalData.length == 1 ? decimalData + "0" : decimalData;// 将数组转为数组并给对象赋值let array = [...integerData, ...decimalData].reverse();for (let index = 0; index < array.length; index++) {const element = array[index];obj[`a${index + 1}`] = element;}obj[`a${array.length + 1}`] = "¥";return obj;
}