我正在創建一個反應加密專案,只是想弄清楚如何在不使用 toFixed 方法的情況下動態添加尾隨零。我避免使用 toFixed 方法的原因是,盡管它獲得了正確的精度并添加了所需的尾隨零,但它會將數字四舍五入。這可能會產生誤導。所以我正處于讓這個東西正確運行的最后一部分。
const getInternalAssetBalance = (selectedAsset, pairType, useFreeTotal = false) => {
const exchangeInternalAccount = holdingsByAccount.find(account => account.exchange === 'REGULAR');
const assetObj = exchangeInternalAccount && exchangeInternalAccount.assets.find(item => item.name === selectedAsset);
};
我有它,它根據精度限制小數點后的數字(這意味著它不會超過指定的精度),但是,如果一個數字的小數位恰好比所需的精度少,它就不會附加額外的尾隨零。例如,假設我們有一個數字 12.353。如果精度為 5,我希望結果為 12.35300。這樣它就會加上額外的兩個零。
任何人碰巧知道如果余額金額的小數位數少于所需的精度以使其匹配,我如何動態添加零?
uj5u.com熱心網友回復:
幾點說明:
由于您的函式回傳數字資料型別,因此您將丟失任何希望在小數部分具有尾隨零的格式。數字值沒有任何與之相關的格式。就像本機
.toFixed方法一樣,您需要回傳一個字串。如果您首先進行所需的截斷,您仍然可以使用該
.toFixed方法。這可以通過將數字乘以 10 的冪,將其截斷為整數,然后再除以來實作。
function toFixed(n, precision) {
const coeff = 10**precision;
return (Math.floor(n * coeff) / coeff).toFixed(precision);
}
console.log(toFixed(1.234567, 4)); // 1.2345
console.log(toFixed(1.23, 4)); // 1.2300
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/516805.html
下一篇:如何在世界空間中獲取游標位置
