SuperAPI AI 工具集

convert-units

通用与其它

查看项目

更新于 10-15 20:10

技能介绍

用途:在 XNO 加密货币的不同单位之间进行精确换算。由于 XNO 使用 30 位小数,超出 JavaScript 安全整数范围,浮点运算会产生精度损失,因此该技能内部全部使用 BigInt,不进行浮点运算,任意金额均可得到精确结果。

单位参考:raw 为最小基础单位(1);mnano 为 10^24(24 位小数,即 0.000001 XNO);knano 为 10^27(27 位小数,即 0.001 XNO);XNO 为 10^30(30 位小数,1 XNO)。换算关系:1 XNO = 1000 knano = 1000000 mnano = 10^30 raw;1 knano = 1000 mnano = 10^27 raw;1 mnano = 10^24 raw。

使用方式:通过 CLI 调用,基本语法为 npx xno-skills convert <amount> <from-unit> --to <to-unit>。例如把 1 XNO 转为 raw:npx xno-skills convert 1 XNO --to raw;把 1000 knano 转为 XNO:npx xno-skills convert 1000 knano --to XNO。常用换算输出包括 1 XNO 等于 10^30 raw、1000 knano、1000000 mnano。

精度处理:输入的小数字符串会被解析为 BigInt 原始单位,输出时再按目标单位格式化,因此不会有精度损失。不要把 XNO 金额用 Number 表示,建议以字符串形式输入,如 npx xno-skills convert "1.5" XNO --to raw。

适用场景:钱包余额展示(raw 转可读 XNO 或 knano)、交易金额换算(如发送 0.001 XNO 或 1 knano 时得到 raw 值)、手续费计算(如 0.000001 XNO 对应的 raw 与 mnano)、大额金额换算。

校验与限制:金额需为有效整数或小数,单位必须是 raw、XNO、knano、mnano 之一,支持负数金额。传入未知单位会报错,如 Unknown unit 'bitcoin'. Valid units: raw, XNO, knano, mnano;传入非法金额会报错 Invalid amount 'abc'. Must be a valid number.。相关技能包括 create-wallet 与 validate-address。