高精度金额计算
高精度金额计算:财务加减乘除、四舍五入、元分转换,避免浮点误差
高精度金额计算:基于 bcmath 的财务运算,避免浮点误差。
支持加减乘除、四舍五入、元分互转、金额比较;可选输出人民币大写。
支持加减乘除、四舍五入、元分互转、金额比较;可选输出人民币大写。
调用地址:https://api.ynlskj.com.cn/gateway/amountcalc
请求方法:POST
在其他地方怎么调用
- 请求地址用上面的调用地址,把 JSON 放在请求体里
- 方法用
POST - API Key 只能放在请求头
X-API-Key,不要写进网址,也不要写进 Query 框 - Key 在「个人中心 → API Key」里复制,登录后会自动填入你自己的 Key
参数说明
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
action | Body JSON | 是 | add 加、sub 减、mul 乘、div 除、round 四舍五入、yuan2fen / fen2yuan 元分转换、compare 比较 |
values | Body JSON | add 时 | 金额数组,如 ["10.01","0.02"] |
a / b | Body JSON | 二元运算时 | 两个操作数(sub / mul / div / compare) |
amount | Body JSON | round / yuan2fen 时 | 金额(元),也可用 fen(分,整数) |
scale | Body JSON | 否 | 结果小数位,默认 2,最大 10 |
mode | Body JSON | round 时否 | half_up(默认)、down、up |
with_upper | Body JSON | 否 | 为 1 时附带人民币大写 upper(非负金额) |
X-API-Key | Header | 是 | 你的 API Key |
为什么需要这个接口?
JS / PHP 浮点数有精度坑,例如 0.1 + 0.2 !== 0.3。本接口用 PHP bcmath 按字符串做财务运算,适合订单合计、分润、支付分元转换。
请求示例
| 场景 | Body 示例 |
|---|---|
| 多笔相加 | {"action":"add","values":["10.01","0.02","5.50"],"with_upper":1} |
| 减法 | {"action":"sub","a":"100.00","b":"19.99"} |
| 单价 × 数量 | {"action":"mul","a":"19.90","b":"3"} |
| 四舍五入 | {"action":"round","amount":"1.005","scale":2} → 1.01 |
| 元转分(支付) | {"action":"yuan2fen","amount":"19.99"} → 1999 |
| 分转元 | {"action":"fen2yuan","fen":1999} → 19.99 |
| 比较大小 | {"action":"compare","a":"100","b":"99.99"} |
返回说明
| 字段 | 说明 |
|---|---|
ret | ok 成功,err 失败 |
data.result | 运算结果(元,字符串,避免浮点误差) |
data.result_fen | 结果对应的分(整数,支付接口常用) |
data.scale | 本次结果保留的小数位 |
data.upper | with_upper=1 时返回的人民币大写 |
data.cmp / eq / gt / lt | compare 时:-1/0/1 及布尔比较结果 |
msg | 本站提示,如「次数充足,剩余 99 次」或「次数不足,剩余 0 次」 |
remain_quota | 本次调用后的剩余次数 |
可直接复制的代码
未登录时示例只显示「你的密钥」。登录后会自动填入你自己的 Key,不会展示别人的。
<?php
$ch = curl_init('https://api.ynlskj.com.cn/gateway/amountcalc');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['X-API-Key: 你的密钥', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{
"action": "add",
"values": [
"10.01",
"0.02",
"5.50"
],
"with_upper": 1
}',
]);
echo curl_exec($ch);
请求参数演示
{"action":"add","values":["10.01","0.02","5.50"],"with_upper":1}
响应演示
{"ret":"ok","data":{"action":"add","result":"15.53","result_fen":1553,"scale":2,"upper":"壹拾伍元伍角叁分"}}