当前位置: 首页 > news >正文

数字格式化库 accounting.js的使用说明

accounting.js 是一个用于格式化数字、货币和金额的轻量级库,特别适合财务和会计应用。以下是其详细使用说明:


安装与引入

  1. 通过 npm 安装

    bash

    复制

    下载

    npm install accounting

    引入:

    javascript

    复制

    下载

    const accounting = require('accounting');
  2. 直接引入脚本

    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"); // 正确解析字符串大数

注意事项

  1. 数值精度:JavaScript 浮点数计算可能存在精度问题,建议对极大/极小数值使用字符串形式。

  2. 国际化:根据地区调整 thousanddecimal 和 symbol,如欧洲格式:

    javascript

    复制

    下载

    accounting.formatMoney(1234.56, "€", 2, ".", ",", "%v %s"); // "1.234,56 €"
  3. 多列对齐:使用 formatColumn() 确保表格中的金额对齐。


通过灵活配置参数,accounting.js 能够满足多种数字和货币格式需求,尤其适合财务系统、报表工具等场景。

相关文章:

  • 什么是时间戳?怎么获取?有什么用
  • Java求职面试:从基础到复杂场景的技术深度解析
  • 【android bluetooth 协议分析 01】【HCI 层介绍 6】【WriteLeHostSupport命令介绍】
  • JVM如何处理多线程内存抢占问题
  • 王者荣耀游戏测试场景题
  • 上位机知识篇---流式Web服务器模式的实现
  • 为什么需要加密机服务?
  • 大模型deepseek如何助力数据安全管理
  • 使用国内源加速Qt在线安装
  • C++笔试题(金山科技新未来训练营):
  • 基于CNN的猫狗识别(自定义CNN模型)
  • SpringBoot快速上手
  • Spring AI 从入门到精通
  • 07、基础入门-SpringBoot-自动配置特性
  • Python Logging 模块完全指南
  • 基于OpenCV的实时文档扫描与矫正技术
  • mvc-ioc实现
  • NB-IoT技术深度解析:部署模式与节能机制全指南
  • 计算机系统的层次结构
  • 算法刷题Day9 5.18:leetcode定长滑动窗口3道题,结束定长滑动窗口,用时1h
  • 十大券商看后市|A股指数有望进一步缓步推高,淡化短期波动
  • 西藏普兰县公安局网安大队向自媒体人宣传网络安全知识
  • 水果预包装带来的环境成本谁来分担?
  • 广东高州发生山体滑坡,造成2人遇难4人送医救治1人失联
  • 全国林业院校校长论坛举行,聚焦林业教育的创新与突破
  • 时隔3年,持续近2小时,俄乌在土耳其谈成了什么?