Skip to content

快速开始

安装

bash
npm install a-calc
bash
yarn add a-calc
bash
pnpm add a-calc

引入

javascript
import { calc } from 'a-calc'
javascript
const { calc } = require('a-calc')
html
<script src="https://unpkg.com/a-calc/browser/index.js"></script>
<script>
  const { calc } = a_calc
</script>

精确计算

a-calc 解决 JavaScript 浮点数精度问题:

javascript
// JavaScript 原生计算
0.1 + 0.2  // 0.30000000000000004

// 使用 a-calc
calc('0.1 + 0.2')  // '0.3'

支持所有常用运算:

javascript
calc('1 + 2')           // '3'   加法
calc('5 - 3')           // '2'   减法
calc('2 * 3')           // '6'   乘法
calc('10 / 4')          // '2.5' 除法
calc('(1 + 2) * 3')     // '9'   括号
Ctrl+D 选择词, Ctrl+/ 注释

使用变量

第二个参数传入变量对象:

javascript
calc('price * quantity', { price: 9.9, quantity: 3 })  // '29.7'

// 支持嵌套属性
calc('user.balance + bonus', {
  user: { balance: 100 },
  bonus: 50
})  // '150'

第二个参数也可以是数组,从多个对象中查找变量:

javascript
// 从多个数据源取值
calc('a + b', [{ a: 1 }, { b: 2 }])  // '3'

// 实际场景:合并用户数据和系统配置
calc('price * discount', [
  { price: 100 },           // 商品数据
  { discount: 0.8 }         // 活动配置
])  // '80'
Ctrl+D 选择词, Ctrl+/ 注释

格式化输出

使用 | 添加格式化:

javascript
calc('10 / 3 | =2')      // '3.33'       保留2位小数
calc('1234567 | ,')      // '1,234,567'  千分位
calc('0.1234 | %')       // '12.34%'     百分比
Ctrl+D 选择词, Ctrl+/ 注释

错误处理

变量缺失时默认抛出异常,使用 _error 返回默认值:

javascript
calc('a + b', { _error: '0' })   // '0'
calc('a + b', { _error: '-' })   // '-'

下一步

基于 MIT 许可发布