摘要:对照 ethereum.org 中文 ERC-20 的 decimals(),用 Etherscan「WITH 6/18 DECIMALS」认 USDT 与 WETH,并用只读 eth_call 核对。和 Gwei 单位文分工。

钱包或浏览器里突然出现一长串「000000」,新手常以为转错了或少了很多零。站内已有 Gwei 是什么 讲手续费单位。本篇只讲代币小数位(decimals):合约里一个整数,用来把链上「最小单位」换算成你看到的 1 USDT / 1 WETH。不讲行情,也不教你「怎么炒币」。

一、官方:ERC-20 里有个 decimals()

打开 ethereum.org 中文「ERC-20 代币标准」。文档列出标准方法,其中一行是:

function decimals() public view returns (uint8)

意思很直白:合约告诉你「显示时要除以 10 的几次方」。它返回一个很小的整数(常见 6 或 18),不是余额本身。

代币小数位是什么:为什么有的币显示好多个 0-玩转加密货币
图1:ethereum.org/zh/…/erc-20/:方法列表含 function decimals() returns (uint8);简体中文,2026-10-15 实拍

二、浏览器怎么认:USDT 写着 6 Decimals

打开 Etherscan 上以太坊主网 USDT Token 页。页眉常见写法:TOKEN CONTRACT (WITH 6 DECIMALS),旁边是合约地址 0xdAC17F95…831ec7。一句话:链上记的是整数;你看到的「1 USDT」= 链上数量 ÷ 106。

所以如果某笔 Transfer 的 raw 是 240973065,换算是 240.973065 USDT——那串数字里「后面很多 0」是最小单位,不是你少收了六个零的「整币」。

代币小数位是什么:为什么有的币显示好多个 0-玩转加密货币
图2:etherscan.io/token/0xdac1…:TOKEN CONTRACT (WITH 6 DECIMALS);界面英文,2026-10-15 实拍

三、对照:WETH 是 18 Decimals

同一浏览器打开 WETH(Wrapped Ether)Token 页,页眉是 TOKEN CONTRACT (WITH 18 DECIMALS)。这和 ETH 本身常用的 18 位小数一致:1 WETH = 1018 个最小单位。USDT 用 6、WETH 用 18——ticker 不同,小数位可以不同,不要拿一个币的位数套到另一个币上。

代币小数位是什么:为什么有的币显示好多个 0-玩转加密货币
图3:etherscan.io/token/0xc02a…:TOKEN CONTRACT (WITH 18 DECIMALS);界面英文,2026-10-15 实拍

四、中文浏览器也能看(OKLink)

更习惯中文时,可用 OKLink 以太坊浏览器打开同一 USDT 合约。页上会显示合约、转账列表与数量列(数量已按该代币小数位格式化展示;具体字段名以当时页面为准)。充值前仍要和交易所给出的合约地址逐字核对,见 代币合约地址是什么。

代币小数位是什么:为什么有的币显示好多个 0-玩转加密货币
图4:oklink.com/zh-hans/ethereum/token/0xdac1…:中文代币详情与转账列表;2026-10-15 实拍

五、和链上核对:eth_call 读 decimals()

不信任页眉时,可对公开 RPC 做只读 eth_call,调用选择器 0x313ce567(即 decimals())。本场对 https://1rpc.io/eth 实跑:

  • USDT → 6
  • WETH → 18

应与浏览器「WITH N DECIMALS」一致。全程不需要钱包;需要钱包时可试用欧易 Web3(创建步骤可填 CHENGXULVTU)。

代币小数位是什么:为什么有的币显示好多个 0-玩转加密货币
图5:本机对 1rpc.io 只读 eth_call:USDT=6、WETH=18;2026-10-15

六、新手怎么少踩坑

容易混的点 正确理解
链上很大一串 0 多半是最小单位;先查 decimals 再 ÷ 10ⁿ
USDT 和 WETH 位数一样吗 不一样:本场浏览器/RPC 为 6 vs 18
和 Gwei 什么关系 Gwei 是 ETH 手续费单价单位;decimals 是代币显示精度
跨链同名 USDT 每条链合约不同,decimals 也要以该链合约为准
先看页眉 N
Etherscan「WITH N DECIMALS」就是 N。
再除以 10ⁿ
显示余额 ≈ raw / 10^decimals。
别抄错合约
假币也可能写 decimals;合约地址要以官网/交易所为准。
  1. 在 ethereum.org 中文 ERC-20 页找到 decimals()。
  2. 打开真 USDT / WETH Token 页,认 WITH 6 / WITH 18。
  3. 需要时用 eth_call 再核一次。
  4. 若要在交易所买少量 ETH 付 Gas,可在 币安 或 欧易——与认 decimals 无关。

相关阅读

说明:配图为 2026-10-15 ethereum.org 中文 ERC-20 方法表、Etherscan USDT/WETH「WITH N DECIMALS」、OKLink 中文 USDT 页、本机真实 eth_call 输出。持仓数、价格会变;decimals 以合约为准。本文不构成投资建议。