From dd9e0d5d0d6e13efc9d432b9e2677223ef07d490 Mon Sep 17 00:00:00 2001 From: Mike Hearn Date: Thu, 10 Jan 2013 13:26:19 +0100 Subject: [PATCH] Fix my previous buggy commit that changed Utils.bitcoinValueToFriendlyString --- core/src/main/java/com/google/bitcoin/core/Utils.java | 3 ++- core/src/test/java/com/google/bitcoin/core/UtilsTest.java | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/com/google/bitcoin/core/Utils.java b/core/src/main/java/com/google/bitcoin/core/Utils.java index 36ce8444..c3547d0b 100644 --- a/core/src/main/java/com/google/bitcoin/core/Utils.java +++ b/core/src/main/java/com/google/bitcoin/core/Utils.java @@ -304,9 +304,10 @@ public class Utils { value = value.negate(); BigDecimal bd = new BigDecimal(value, 8); String formatted = bd.toPlainString(); // Don't use scientific notation. + int decimalPoint = formatted.indexOf("."); // Drop unnecessary zeros from the end. int toDelete = 0; - for (int i = formatted.length() - 1; i > 1; i--) { + for (int i = formatted.length() - 1; i > decimalPoint + 2; i--) { if (formatted.charAt(i) == '0') toDelete++; else diff --git a/core/src/test/java/com/google/bitcoin/core/UtilsTest.java b/core/src/test/java/com/google/bitcoin/core/UtilsTest.java index 2517493c..21cf26c8 100644 --- a/core/src/test/java/com/google/bitcoin/core/UtilsTest.java +++ b/core/src/test/java/com/google/bitcoin/core/UtilsTest.java @@ -50,6 +50,7 @@ public class UtilsTest { @Test public void testFormatting() { + assertEquals("1.00", bitcoinValueToFriendlyString(toNanoCoins(1, 0))); assertEquals("1.23", bitcoinValueToFriendlyString(toNanoCoins(1, 23))); assertEquals("0.001", bitcoinValueToFriendlyString(BigInteger.valueOf(COIN.longValue() / 1000))); assertEquals("-1.23", bitcoinValueToFriendlyString(toNanoCoins(1, 23).negate()));