From 7d6bf31caa7f7d033b54d6cd433f0c1754f929e7 Mon Sep 17 00:00:00 2001 From: adityapk00 Date: Sat, 24 Nov 2018 08:17:46 -0800 Subject: [PATCH] Handle 0 change case --- src/sendtab.cpp | 6 ++++-- src/settings.cpp | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/sendtab.cpp b/src/sendtab.cpp index e0a319d..309e3a5 100644 --- a/src/sendtab.cpp +++ b/src/sendtab.cpp @@ -413,8 +413,10 @@ Tx MainWindow::createTxFromSendPage() { if (saplingAddr != rpc->getAllZAddresses()->end()) { double change = rpc->getAllBalances()->value(tx.fromAddr) - totalAmt - tx.fee; - QString changeMemo = "Change from " + tx.fromAddr; - tx.toAddrs.push_back( ToFields{*saplingAddr, change, changeMemo, changeMemo.toUtf8().toHex()} ); + if (Settings::getDecimalString(change) != "0") { + QString changeMemo = "Change from " + tx.fromAddr; + tx.toAddrs.push_back(ToFields{ *saplingAddr, change, changeMemo, changeMemo.toUtf8().toHex() }); + } } } diff --git a/src/settings.cpp b/src/settings.cpp index 371bd5c..fb77c6c 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -143,9 +143,12 @@ QString Settings::getUSDFormat(double bal) { QString Settings::getDecimalString(double amt) { QString f = QString::number(amt, 'f', 8); + while (f.contains(".") && (f.right(1) == "0" || f.right(1) == ".")) { f = f.left(f.length() - 1); } + if (f == "-0") + f = "0"; return f; }