diff options
Merge pull request #557 from MetaMask/balance-fix
Fix rounding issues.
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | ui/app/components/account-eth-balance.js | 17 | ||||
-rw-r--r-- | ui/app/util.js | 15 |
3 files changed, 20 insertions, 13 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index b7833e9d1..a196f9d22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Current Master - Added feature to reflect current conversion rates of current vault balance. +- Modify balance display logic. ## 2.8.0 2016-08-15 diff --git a/ui/app/components/account-eth-balance.js b/ui/app/components/account-eth-balance.js index 6cdb33b73..8d693685f 100644 --- a/ui/app/components/account-eth-balance.js +++ b/ui/app/components/account-eth-balance.js @@ -46,16 +46,17 @@ EthBalanceComponent.prototype.render = function () { EthBalanceComponent.prototype.renderBalance = function (value, state) { if (value === 'None') return value var balanceObj = generateBalanceObject(value, state.shorten ? 1 : 3) - var balance, fiatNumber + var balance, fiatDisplayNumber, fiatTooltipNumber var splitBalance = value.split(' ') var ethNumber = splitBalance[0] var ethSuffix = splitBalance[1] if (state.conversionRate !== 0) { - fiatNumber = (Number(splitBalance[0]) * state.conversionRate).toFixed(2) + fiatTooltipNumber = Number(splitBalance[0]) * state.conversionRate + fiatDisplayNumber = fiatTooltipNumber.toFixed(2) } else { - fiatNumber = 'N/A' + fiatDisplayNumber = 'N/A' } var fiatSuffix = state.currentFiat @@ -99,16 +100,16 @@ EthBalanceComponent.prototype.renderBalance = function (value, state) { ]), h(Tooltip, { position: 'bottom', - title: `${fiatNumber} ${fiatSuffix}`, + title: `${fiatTooltipNumber} ${fiatSuffix}`, }, [ - fiatDisplay(fiatNumber, fiatSuffix), + fiatDisplay(fiatDisplayNumber, fiatSuffix), ]), ]) ) } -function fiatDisplay (fiatNumber, fiatSuffix) { - if (fiatNumber !== 'N/A') { +function fiatDisplay (fiatDisplayNumber, fiatSuffix) { + if (fiatDisplayNumber !== 'N/A') { return h('.flex-row', { style: { alignItems: 'flex-end', @@ -124,7 +125,7 @@ function fiatDisplay (fiatNumber, fiatSuffix) { fontSize: '12px', color: '#333333', }, - }, fiatNumber), + }, fiatDisplayNumber), h('div', { style: { color: '#AEAEAE', diff --git a/ui/app/util.js b/ui/app/util.js index e1fd6e399..2d1c753dd 100644 --- a/ui/app/util.js +++ b/ui/app/util.js @@ -141,16 +141,21 @@ function shortenBalance (balance, decimalsToKeep = 1) { var convertedBalance = parseFloat(balance) if (convertedBalance > 1000000) { truncatedValue = (balance / 1000000).toFixed(decimalsToKeep) - return `>${truncatedValue}m` + return `${truncatedValue}m` } else if (convertedBalance > 1000) { truncatedValue = (balance / 1000).toFixed(decimalsToKeep) - return `>${truncatedValue}k` + return `${truncatedValue}k` } else if (convertedBalance === 0) { return '0' + } else if (convertedBalance < 0.001) { + return '<0.001' } else if (convertedBalance < 1) { - var exponent = balance.match(/\.0*/)[0].length - truncatedValue = (convertedBalance * Math.pow(10, exponent)).toFixed(decimalsToKeep) - return `<${truncatedValue}e-${exponent}` + var stringBalance = convertedBalance.toString() + if (stringBalance.split('.')[1].length > 3) { + return convertedBalance.toFixed(3) + } else { + return stringBalance + } } else { return convertedBalance.toFixed(decimalsToKeep) } |