From 022594bb2f48c115b55ac786aa160b546ff318f8 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Thu, 16 Mar 2006 11:03:28 +0000 Subject: *** no comment *** --- amount.cc | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/amount.cc b/amount.cc index d9171715..c22e229b 100644 --- a/amount.cc +++ b/amount.cc @@ -818,8 +818,6 @@ std::ostream& operator<<(std::ostream& _out, const amount_t& amt) } if (precision) { - out << ((comm.flags & COMMODITY_STYLE_EUROPEAN) ? ',' : '.'); - std::ostringstream final; final.width(precision); final.fill('0'); @@ -834,12 +832,18 @@ std::ostream& operator<<(std::ostream& _out, const amount_t& amt) if (q[i - 1] != '0') break; + std::string ender; if (i == len) - out << str; - else if (i < comm.precision) - out << std::string(str, 0, comm.precision); + ender = str; + else if (i < comm.precision()) + ender = std::string(str, 0, comm.precision()); else - out << std::string(str, 0, i); + ender = std::string(str, 0, i); + + if (! ender.empty()) { + out << ((comm.flags() & COMMODITY_STYLE_EUROPEAN) ? ',' : '.'); + out << ender; + } } if (comm.flags & COMMODITY_STYLE_SUFFIXED) { -- cgit v1.2.3