diff --git a/src/defaultLocale.js b/src/defaultLocale.js index 41ec802..9ecf0fa 100644 --- a/src/defaultLocale.js +++ b/src/defaultLocale.js @@ -8,7 +8,8 @@ defaultLocale({ decimal: ".", thousands: ",", grouping: [3], - currency: ["$", ""] + currency: ["$", ""], + minus: "-" }); export default function defaultLocale(definition) { diff --git a/src/locale.js b/src/locale.js index c6aa8c0..bed6c02 100644 --- a/src/locale.js +++ b/src/locale.js @@ -14,7 +14,8 @@ export default function(locale) { currency = locale.currency, decimal = locale.decimal, numerals = locale.numerals ? formatNumerals(locale.numerals) : identity, - percent = locale.percent || "%"; + percent = locale.percent || "%", + minus = locale.minus || "-"; function newFormat(specifier) { specifier = formatSpecifier(specifier); @@ -80,7 +81,8 @@ export default function(locale) { if (valueNegative && +value === 0) valueNegative = false; // Compute the prefix and suffix. - valuePrefix = (valueNegative ? (sign === "(" ? sign : "-") : sign === "-" || sign === "(" ? "" : sign) + valuePrefix; + valuePrefix = (valueNegative ? (sign === "(" ? sign : minus) : sign === "-" || sign === "(" ? "" : sign) + valuePrefix; + valueSuffix = (type === "s" ? prefixes[8 + prefixExponent / 3] : "") + valueSuffix + (valueNegative && sign === "(" ? ")" : ""); // Break the formatted value into the integer “value” part that can be