内置函数
结构体
内置变量与常量
通用约定
交易所
能力矩阵
中心化交易所
去中心化交易所
预测市场
证券与期货
链上与自定义接入
通用协议
Web3
exchange.IO("abi", ...)
exchange.IO("api", blockChain, ...)
exchange.IO("encode", ...)
exchange.IO("encodePacked", ...)
exchange.IO("decode", ...)
exchange.IO("hash", ...)
exchange.IO("key", ...)
exchange.IO("sign", ...)
exchange.IO("signTypedData", ...)
exchange.IO("signMessage", ...)
exchange.IO("api", ...)
exchange.IO("call", ...)
exchange.IO("multicall", ...)
exchange.IO("logs", ...)
exchange.IO("waitReceipt", ...)
exchange.IO("nonce", ...)
exchange.IO("speedUp", ...)
exchange.IO("cancelTx", ...)
exchange.IO("toUnits", ...)
exchange.IO("fromUnits", ...)
exchange.IO("uniswapV3", ...)
exchange.IO("contracts", ...)
exchange.IO("address")
exchange.IO("base", ...)
exchange.IO("sendBase", ...)
exchange.IO("toUnits", ...)
将可读数量换算为链上整数。换算全程以字符串形式进行精确计算,不经过浮点数运算。
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 | 是 | 固定为 |
amount | string / number | 是 | 可读数量,例如 |
decimals | number / string | 是 | 精度,可以传入数字(例如USDC为6,ETH为18),也可以传入代币合约地址,此时将自动调用该代币合约的 |
参考
备注
与exchange.IO("fromUnits", ...)互为逆运算。