diff options
| author | Gavin Andresen <[email protected]> | 2011-02-28 21:34:36 +0000 |
|---|---|---|
| committer | Gavin Andresen <[email protected]> | 2011-02-28 21:34:36 +0000 |
| commit | 8a9cad44a57f1e0057c127ced5078d7e722b9cc8 (patch) | |
| tree | 37fb69aa9bbbd1cf082abc875090586aa0145da4 /util.cpp | |
| parent | ParseMoney: allow full precision (diff) | |
| download | discoin-8a9cad44a57f1e0057c127ced5078d7e722b9cc8.tar.xz discoin-8a9cad44a57f1e0057c127ced5078d7e722b9cc8.zip | |
Avoid sprintf decimal-point localization
Diffstat (limited to 'util.cpp')
| -rw-r--r-- | util.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -313,7 +313,12 @@ void ParseString(const string& str, char c, vector<string>& v) string FormatMoney(int64 n, bool fPlus) { - string str = strprintf("%.08f", double(n > 0 ? n : -n)/double(COIN)); + // Note: not using straight sprintf here because we do NOT want + // localized number formatting. + int64 n_abs = (n > 0 ? n : -n); + int64 quotient = n_abs/COIN; + int64 remainder = n_abs%COIN; + string str = strprintf("%"PRI64d".%08"PRI64d, quotient, remainder); // Right-trim excess 0's before the decimal point: int nTrim = 0; |