[英]Ethers BigNumber to USD conversion
我正在嘗試將以太坊價值轉換為其追溯法幣價值。 美元的最終價值似乎是錯誤的,我想知道它是不是用大數計算的。
為了方便起見,我附上了一個沙箱。 https://codesandbox.io/s/autumn-sun-0k02d5?file=/src/index.js
試圖
const one = parseUnits("1");
const price = parseUnits("0.1");
const _rate = "1563.48";
const rate = parseUnits(_rate, 2);
const usdPrice = price.lt(one) ? rate.mul(price) : rate.div(price);
預期: usdPrice = 156.348
實際: usdPrice = 15634.8
試試這個代碼:
import { formatEther, parseEther } from "@ethersproject/units";
// const price = parseUnits("0.00000000000000001");
// const price = parseUnits("0.00000001000000000");
const price = parseEther("0.1");
const _rate = "1563.48";
const rate = parseFloat(_rate);
const usdPrice = rate * price;
document.getElementById("app").innerHTML = `
<p>Price in Eth ${formatEther(price)}</p>
<p>Price in USD ${formatEther(usdPrice.toString())}</p>
<p>1 ETH = ${rate}</p>
<p>Balance: ${formatEther(price)} Rate: ${rate}</p>
`;
由於匯率以美元為單位,您應該將其解析為浮點數,而不是 gwai。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.