diff options
author | obscuren <geffobscura@gmail.com> | 2014-02-25 18:20:24 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-02-25 18:20:24 +0800 |
commit | c7e73ba12d747186002433db54d002ab43bed171 (patch) | |
tree | 32ffc1d36bc773f8230012dc6b01db54566fda97 /ethutil/common.go | |
parent | b30b9ab8cb13ddbc68a4912c9f06116c0f59bc27 (diff) | |
download | go-tangerine-c7e73ba12d747186002433db54d002ab43bed171.tar.gz go-tangerine-c7e73ba12d747186002433db54d002ab43bed171.tar.zst go-tangerine-c7e73ba12d747186002433db54d002ab43bed171.zip |
Added currency converting
Diffstat (limited to 'ethutil/common.go')
-rw-r--r-- | ethutil/common.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/ethutil/common.go b/ethutil/common.go new file mode 100644 index 000000000..07df6bb13 --- /dev/null +++ b/ethutil/common.go @@ -0,0 +1,35 @@ +package ethutil + +import ( + "fmt" + "math/big" +) + +var ( + Ether = BigPow(10, 18) + Finney = BigPow(10, 15) + Szabo = BigPow(10, 12) + Vito = BigPow(10, 9) + Turing = BigPow(10, 6) + Eins = BigPow(10, 3) + Wei = big.NewInt(1) +) + +func CurrencyToString(num *big.Int) string { + switch { + case num.Cmp(Ether) >= 0: + return fmt.Sprintf("%v Ether", new(big.Int).Div(num, Ether)) + case num.Cmp(Finney) >= 0: + return fmt.Sprintf("%v Finney", new(big.Int).Div(num, Finney)) + case num.Cmp(Szabo) >= 0: + return fmt.Sprintf("%v Szabo", new(big.Int).Div(num, Szabo)) + case num.Cmp(Vito) >= 0: + return fmt.Sprintf("%v Vito", new(big.Int).Div(num, Vito)) + case num.Cmp(Turing) >= 0: + return fmt.Sprintf("%v Turing", new(big.Int).Div(num, Turing)) + case num.Cmp(Eins) >= 0: + return fmt.Sprintf("%v Eins", new(big.Int).Div(num, Eins)) + } + + return fmt.Sprintf("%v Wei", num) +} |