输入/搜索内容
内置函数
结构体
内置变量与常量
通用约定
交易所
能力矩阵
中心化交易所
去中心化交易所
预测市场
证券与期货
链上与自定义接入

将可读数量换算为链上整数。换算全程以字符串形式进行精确计算,不经过浮点数运算。

exchange.IO(k, amount, decimals)

示例

换算USDC与ETH的数量。

javascript
function main() { var USDC = "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" // 可读数量 -> 链上整数,精度可以传数字,也可以传代币地址(自动读取 decimals) Log(exchange.IO("toUnits", "1.5", 6)) // 输出:1500000 Log(exchange.IO("toUnits", "1.5", USDC)) // 输出:1500000 Log(exchange.IO("toUnits", "0.01", 18)) // 输出:10000000000000000 // 链上整数 -> 可读数量 Log(exchange.IO("fromUnits", "1500000", 6)) // 输出:1.5 var raw = exchange.IO("api", USDC, "balanceOf", exchange.IO("address")) Log("USDC余额:", exchange.IO("fromUnits", raw, USDC)) // 小数位多于精度时报错,不会静默截断 Log(exchange.IO("toUnits", "1.0000001", 6), GetLastError()) }

返回值

类型描述

string

返回链上整数(十进制字符串)。当小数位数超过精度时,返回空值并报错,不会静默截断。

参数

名称类型必填描述

k

string

是

固定为toUnits,用于将可读数量换算为链上整数。

amount

string / number

是

可读数量,例如"1.5"。建议以字符串形式传入,以避免JavaScript数值类型的精度问题;不支持科学计数法。

decimals

number / string

是

精度,可以传入数字(例如USDC为6,ETH为18),也可以传入代币合约地址,此时将自动调用该代币合约的decimals()方法读取精度。

参考

备注

与exchange.IO("fromUnits", ...)互为逆运算。