accounting.js 是一个用于格式化数字、货币和金额的轻量级库,特别适合财务和会计应用。以下是其详细使用说明:
安装与引入
-
通过 npm 安装:
bash
复制
下载
npm install accounting
引入:
javascript
复制
下载
const accounting = require('accounting');
-
直接引入脚本:
html
复制
下载
运行
<script src="path/to/accounting.js"></script>
核心方法
1. 格式化数字:formatNumber()
-
语法:
javascript
复制
下载
accounting.formatNumber(value, precision, thousand, decimal);
-
参数:
-
value
: 要格式化的数字。 -
precision
(可选): 小数位数,默认为0
。 -
thousand
(可选): 千位分隔符,默认为,
。 -
decimal
(可选): 小数点符号,默认为.
。
-
-
示例:
javascript
复制
下载
accounting.formatNumber(1234567.89); // "1,234,568" accounting.formatNumber(123456.789, 2, " ", ","); // "123 456,79"
2. 格式化货币:formatMoney()
-
语法:
javascript
复制
下载
accounting.formatMoney(value, symbol, precision, thousand, decimal, format);
-
参数:
-
value
: 要格式化的金额。 -
symbol
(可选): 货币符号,默认为$
。 -
precision
(可选): 小数位数,默认为2
。 -
thousand
(可选): 千位分隔符,默认为,
。 -
decimal
(可选): 小数点符号,默认为.
。 -
format
(可选): 格式字符串,如%s%v
(符号在前),默认为%s%v
。
-
-
示例:
javascript
复制
下载
accounting.formatMoney(1234567.89); // "$1,234,567.89" accounting.formatMoney(-1234.56, "€", 2, ".", ",", "%v %s"); // "-1.234,56 €"
3. 解析格式化字符串:parse()
-
语法:
javascript
复制
下载
accounting.parse(string, decimal);
-
参数:
-
string
: 要解析的字符串(如"£1,234.56"
)。 -
decimal
(可选): 指定小数点符号,默认自动检测。
-
-
示例:
javascript
复制
下载
accounting.parse("€1.234,56", ","); // 返回 1234.56
4. 格式化多列数据:formatColumn()
-
语法:
javascript
复制
下载
accounting.formatColumn(list, symbol, precision, thousand, decimal, format);
-
参数:同
formatMoney()
,但处理数组。 -
示例:
javascript
复制
下载
accounting.formatColumn([123.5, 3456.49, 777888.99], "¥", 2); // 返回 ["¥123.50", "¥3,456.49", "¥777,888.99"]
全局配置
通过 accounting.settings
修改默认行为:
javascript
复制
下载
accounting.settings = { currency: { symbol: "€", // 默认货币符号 format: "%s%v", // 符号在前,数值在后 decimal: ",", // 小数点 thousand: ".", // 千位分隔符 precision: 2 // 小数位数 }, number: { precision: 0, thousand: ",", decimal: "." } };
高级用法
-
自定义负数格式:
javascript
复制
下载
// 使用括号表示负数 accounting.formatMoney(-1234.56, "$", 2, ",", ".", "%s (%v)"); // 返回 "$ (1,234.56)"
-
处理超大数值(避免精度丢失):
javascript
复制
下载
accounting.formatMoney("12345678901234567890.12345"); // 正确解析字符串大数
注意事项
-
数值精度:JavaScript 浮点数计算可能存在精度问题,建议对极大/极小数值使用字符串形式。
-
国际化:根据地区调整
thousand
、decimal
和symbol
,如欧洲格式:javascript
复制
下载
accounting.formatMoney(1234.56, "€", 2, ".", ",", "%v %s"); // "1.234,56 €"
-
多列对齐:使用
formatColumn()
确保表格中的金额对齐。
通过灵活配置参数,accounting.js 能够满足多种数字和货币格式需求,尤其适合财务系统、报表工具等场景。