快速开始
安装
bash
npm install a-calcbash
yarn add a-calcbash
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: '-' }) // '-'