是否可以得到没有小数或特定数量小数的余额?
Is it possible to get the balance without the decimals or a specific amount of decimals?
我正在使用 web3 包,我得到了这样的余额
final abi = [
'function balanceOf(address) view returns (uint)',
];
final token = web3.Contract(
'{contract address}',
abi,
web3.provider!,
);
final balance = await token.call<BigInt>(
'balanceOf',
['{walletAddress}'],
);
print('BALANCE: ${balance}');
但是当我打印余额时,我注意到它也有小数点。我怎样才能得到没有小数点的余额?或者有特定数量的小数?或者阅读令牌详细信息中设置的小数位数是多少?
我的余额是 999987,我得到 999987000000000000000000
您可以使用'toInt()'
方法。比如,'balance.toInt()'
使用Decimal.fromBigInt创建Decimal
,然后根据需要四舍五入。
正如 James 所建议的那样,有一个小数函数
const abi = [
'function balanceOf(address) view returns (uint)',
'function decimals() view returns (uint)',
];
final token = web3.Contract(
contractAddress,
abi,
web3.provider!,
);
final balance = await token.call<BigInt>(
'decimals',
[],
);
我正在使用 web3 包,我得到了这样的余额
final abi = [
'function balanceOf(address) view returns (uint)',
];
final token = web3.Contract(
'{contract address}',
abi,
web3.provider!,
);
final balance = await token.call<BigInt>(
'balanceOf',
['{walletAddress}'],
);
print('BALANCE: ${balance}');
但是当我打印余额时,我注意到它也有小数点。我怎样才能得到没有小数点的余额?或者有特定数量的小数?或者阅读令牌详细信息中设置的小数位数是多少?
我的余额是 999987,我得到 999987000000000000000000
您可以使用'toInt()'
方法。比如,'balance.toInt()'
使用Decimal.fromBigInt创建Decimal
,然后根据需要四舍五入。
正如 James 所建议的那样,有一个小数函数
const abi = [
'function balanceOf(address) view returns (uint)',
'function decimals() view returns (uint)',
];
final token = web3.Contract(
contractAddress,
abi,
web3.provider!,
);
final balance = await token.call<BigInt>(
'decimals',
[],
);