Solidity
如何在乙太坊中轉換為 8 位數字
我有一個 8 位的令牌,所以輸出是 4762575931 而不是 47.62575..
我該如何更改它以便它適用於 UI 和元遮罩輸入?
我知道有 wei 的功能,但這是 18 位小數。
8位小數怎麼辦?我沒有看到 8 位小數的轉換
令牌的 Decimals 屬性基本上是 UI 提示如何呈現令牌數量的提示。所以,你的問題純粹是 UI 問題。基本上,您需要做的是
10^decimals
在向使用者顯示這些數量之前將代幣數量除以,然後將使用者提供的代幣數量乘以相同的係數,然後再將它們發送到區塊鏈。你只需要為這個算術使用正確的庫,即一個庫,它:
- 能夠處理大至 2^256-1 的數字,並且
- 能夠在不損失精度的情況下處理小數。
適用於所有主要語言的庫,對於 Javascript,您可以使用這個:https ://github.com/MikeMcl/bignumber.js/