跳至正文
面向全球华人的数字资产观察全球视角 · 地区背景
链观 BTC866CHAIN VIEW
新手教程

代币小数位:从链上整数读懂实际数量

代币余额通常以整数保存,界面按小数位缩放后显示数量。结合具体证据与算例,解释适用条件和常见误读。

阅读语言简体中文繁體中文English한국어РусскийالعربيةEspañol (México)Tiếng Việtไทย
代币小数位:从链上整数读懂实际数量

原创主题配图: 链观 BTC866 原创主题图解 · ChainView BTC866 Editorial · CC BY 4.0

建立正确概念

代币余额通常以整数保存,界面按小数位缩放后显示数量。六位小数时,原始整数1234500表示1.2345个单位,不是1234500枚。符号与名称并非全球唯一标识,必须同时记录网络和合约地址,否则同名代币、小数位不同或假冒资产会使解释完全改变。

浏览器和交易所常把小数位显示为可编辑格式,用户输入的数量还受步长与最小额约束。先查看完整合约与平台规则,不能因余额页面显示四舍五入就认为可以转出同样数量。

选择可信依据

ERC-20的decimals属于可选元数据,不应假定每份合约都返回标准值,也不能自动用十八位代替未知值。查看正式合约、可信浏览器与发行说明,识别代理实现和版本变更。元数据读取失败时保留原始整数及未知状态,不通过猜测让资产看起来符合预期。

代理合约升级后元数据读取可能来自实现合约,保存查询区块和工具来源。若不同浏览器显示不一致,先确定是否查询同一网络和地址,再检查小数位是否可变或仅有缓存。

核对具体字段

金融记录使用整数或十进制定点方法,二进制浮点可能在相加、舍入和大数处理中引入误差。保留raw整数、scale与显示单位三列,输入输出时才进行格式化。表格工具可能把长整数变成科学计数或截断,导入前设置文本类型并用校验样本核对,不靠肉眼看大致相同。

大数分割与合并应做反向测试,确保整数未溢出。代码和表格中避免把raw值先转浮点再乘除;舍入方向要按业务规则记录,不能用默认格式化掩盖差一个单位。

处理边界情况

转账日志数量与账户余额需使用相同尺度,费用代币和转移代币可能不同。显示四舍五入不代表链上剩余为零,极小残余也不能随意抹去。对金额上限、最低提币额和交易精度,要区分平台规则与代币decimals;支持六位显示并不意味着每个订单允许六位数量。

费用和余额同时显示时标明币种,展示单位可随语言变化但底层scale不应被翻译误改。多语言文章应保留公式、原始值和单位,避免中文逗号或阿拉伯数字格式被解析为另一数值。

保存结果与版本

练习可用无价值测试数据,把1234500与六位小数转换后再反算回整数,检验是否完全一致。更改小数位应触发核对而非默默重新估值。文章展示原始值、公式、单位与来源,让读者理解数值尺度不创造经济价值,也不会因为界面增加零位就自动改变资产权利。

遇到同名代币或小数位异常先暂停发送,用可信浏览器验证合约和事件。不要为修复显示而授权陌生网站读取或移动资产,展示问题与资产状态需要分开处理。

资料来源

  1. ERC-20 (在新窗口打开)
  2. Ethereum token standards (在新窗口打开)