From 9132f085070a99499a75d6353983bd1683f7a3f0 Mon Sep 17 00:00:00 2001 From: Zac Mitton Date: Mon, 20 Jun 2016 18:46:29 -0400 Subject: added a failing case and fixed it by refactoring everything to strings --- ui/app/util.js | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'ui/app') diff --git a/ui/app/util.js b/ui/app/util.js index 6ece28a9e..56a16a4cd 100644 --- a/ui/app/util.js +++ b/ui/app/util.js @@ -85,22 +85,20 @@ function weiToEth(bn) { // Takes hex, returns [beforeDecimal, afterDecimal] function parseBalance(balance) { - if (!balance || balance === '0x0') return ['0', '0'] - var wei = numericBalance(balance).toString(10) - var eth = String(wei/valueTable['wei']) - var beforeDecimal = String(Math.floor(eth)) - var afterDecimal - if(eth.indexOf('.') > -1){ - afterDecimal = eth.slice(eth.indexOf('.') + 1) - }else{ - afterDecimal = '0' - } + let beforeDecimal, afterDecimal + let wei = numericBalance(balance).toString() + let trailingZeros = /0+$/ + + beforeDecimal = wei.length > 18 ? wei.slice(0, wei.length - 18) : '0' + afterDecimal = ("000000000000000000" + wei).slice(-18).replace(trailingZeros, "") + if(afterDecimal == ""){afterDecimal = "0" } return [beforeDecimal, afterDecimal] } // Takes wei hex, returns "None" or "${formattedAmount} ETH" function formatBalance(balance, decimalsToKeep) { var parsed = parseBalance(balance) + console.log(parsed) var beforeDecimal = parsed[0] var afterDecimal = parsed[1] var formatted = "None" -- cgit From bd6ee81d097f3da2fcfbfb7b7d29d5daf706eb1d Mon Sep 17 00:00:00 2001 From: Zac Mitton Date: Tue, 21 Jun 2016 10:52:41 -0500 Subject: tweek --- ui/app/util.js | 1 - 1 file changed, 1 deletion(-) (limited to 'ui/app') diff --git a/ui/app/util.js b/ui/app/util.js index 56a16a4cd..9e08e0bb2 100644 --- a/ui/app/util.js +++ b/ui/app/util.js @@ -98,7 +98,6 @@ function parseBalance(balance) { // Takes wei hex, returns "None" or "${formattedAmount} ETH" function formatBalance(balance, decimalsToKeep) { var parsed = parseBalance(balance) - console.log(parsed) var beforeDecimal = parsed[0] var afterDecimal = parsed[1] var formatted = "None" -- cgit