diff options
author | Bdale Garbee <bdale@gag.com> | 2018-10-08 17:52:22 -0600 |
---|---|---|
committer | Bdale Garbee <bdale@gag.com> | 2018-10-08 17:52:22 -0600 |
commit | 2450e69d3afd3345a6e5f7ca133d929fbdcfdf53 (patch) | |
tree | c04aa34bdecbf909dbeea8854390364bf140e7ca /altoslib/AltosJson.java | |
parent | 449ed72371f80f03dcc5dcf66af5c9465e7ed57e (diff) | |
parent | 5a86ff43a2b4a90dbddc1bba48019626e1b83e10 (diff) |
Merge branch 'branch-1.8' into debian
Diffstat (limited to 'altoslib/AltosJson.java')
-rw-r--r-- | altoslib/AltosJson.java | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/altoslib/AltosJson.java b/altoslib/AltosJson.java index 52c9b41e..b981c365 100644 --- a/altoslib/AltosJson.java +++ b/altoslib/AltosJson.java @@ -16,7 +16,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altoslib_12; +package org.altusmetrum.altoslib_13; import java.io.*; import java.util.*; @@ -63,18 +63,22 @@ class JsonUtil { result.append("\t"); return result; } - static NumberFormat get_nf_json() { - DecimalFormat nf = (DecimalFormat) NumberFormat.getNumberInstance(Locale.ROOT); - nf.setParseIntegerOnly(false); - nf.setGroupingUsed(false); - nf.setMaximumFractionDigits(17); - nf.setMinimumFractionDigits(0); - nf.setMinimumIntegerDigits(1); - nf.setDecimalSeparatorAlwaysShown(false); - return nf; - } - static NumberFormat nf_json = get_nf_json(); + NumberFormat _nf_json; + + NumberFormat nf_json() { + if (_nf_json == null) { + DecimalFormat nf = (DecimalFormat) NumberFormat.getNumberInstance(Locale.ROOT); + nf.setParseIntegerOnly(false); + nf.setGroupingUsed(false); + nf.setMaximumFractionDigits(17); + nf.setMinimumFractionDigits(0); + nf.setMinimumIntegerDigits(1); + nf.setDecimalSeparatorAlwaysShown(false); + _nf_json = nf; + } + return _nf_json; + } } class JsonHash extends JsonUtil { @@ -372,7 +376,7 @@ class JsonLexer extends JsonUtil { String dstr = dbuf.toString(); double dval; try { - dval = nf_json.parse(dstr).doubleValue(); + dval = nf_json().parse(dstr).doubleValue(); } catch (ParseException pe) { return new JsonToken(JsonToken._error, dstr); } @@ -612,7 +616,7 @@ public class AltosJson extends JsonUtil { } else if (Double.isNaN(d_number)) { result.append("NaN"); } else { - String dval = nf_json.format(d_number); + String dval = nf_json().format(d_number); if (dval.equals("-0")) dval = "0"; result.append(dval); |