Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(784)

Unified Diff: packages/charted/lib/locale/format/number_format.dart

Issue 1521693002: Roll Observatory deps (charted -> ^0.3.0) (Closed) Base URL: https://chromium.googlesource.com/external/github.com/dart-lang/observatory_pub_packages.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « packages/charted/lib/locale/format.dart ('k') | packages/charted/lib/locale/format/time_format.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: packages/charted/lib/locale/format/number_format.dart
diff --git a/packages/charted/lib/locale/format/number_format.dart b/packages/charted/lib/locale/format/number_format.dart
index d1c97a7ed0fa9e87f74a5072f2a67d9fd840597d..5761e2bcf86efee4ff3135be36e350303dea16ab 100644
--- a/packages/charted/lib/locale/format/number_format.dart
+++ b/packages/charted/lib/locale/format/number_format.dart
@@ -14,11 +14,11 @@ part of charted.locale.format;
* specifier with the number properties of the locale.
*/
class NumberFormat {
-
// [[fill]align][sign][symbol][0][width][,][.precision][type]
- static RegExp FORMAT_REGEX =
- new RegExp(r'(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?'
- r'(\.-?\d+)?([a-z%])?', caseSensitive: false);
+ static RegExp FORMAT_REGEX = new RegExp(
+ r'(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?'
+ r'(\.-?\d+)?([a-z%])?',
+ caseSensitive: false);
String localeDecimal;
String localeThousands;
@@ -31,24 +31,23 @@ class NumberFormat {
localeThousands = locale.thousands;
localeGrouping = locale.grouping;
localeCurrency = locale.currency;
- formatGroup = (localeGrouping != null) ? (value) {
- var i = value.length,
- t = [],
- j = 0,
- g = localeGrouping[0];
- while (i > 0 && g > 0) {
- if (i - g >= 0) {
- i = i - g;
- } else {
- g = i;
- i = 0;
- }
- var length = (i + g) < value.length ? (i + g) : value.length;
- t.add(value.substring(i, length));
- g = localeGrouping[j = (j + 1) % localeGrouping.length];
- }
- return t.reversed.join(localeThousands);
- } : (x) => x;
+ formatGroup = (localeGrouping != null)
+ ? (value) {
+ var i = value.length, t = [], j = 0, g = localeGrouping[0];
+ while (i > 0 && g > 0) {
+ if (i - g >= 0) {
+ i = i - g;
+ } else {
+ g = i;
+ i = 0;
+ }
+ var length = (i + g) < value.length ? (i + g) : value.length;
+ t.add(value.substring(i, length));
+ g = localeGrouping[j = (j + 1) % localeGrouping.length];
+ }
+ return t.reversed.join(localeThousands);
+ }
+ : (x) => x;
}
/**
@@ -70,8 +69,8 @@ class NumberFormat {
zfill = match.group(5),
width = match.group(6) != null ? int.parse(match.group(6)) : 0,
comma = match.group(7) != null,
- precision = match.group(8) != null ?
- int.parse(match.group(8).substring(1)) : null,
+ precision =
+ match.group(8) != null ? int.parse(match.group(8).substring(1)) : null,
type = match.group(9),
scale = 1,
prefix = '',
@@ -87,16 +86,35 @@ class NumberFormat {
}
switch (type) {
- case 'n': comma = true; type = 'g'; break;
- case '%': scale = 100; suffix = '%'; type = 'f'; break;
- case 'p': scale = 100; suffix = '%'; type = 'r'; break;
+ case 'n':
+ comma = true;
+ type = 'g';
+ break;
+ case '%':
+ scale = 100;
+ suffix = '%';
+ type = 'f';
+ break;
+ case 'p':
+ scale = 100;
+ suffix = '%';
+ type = 'r';
+ break;
case 'b':
case 'o':
case 'x':
- case 'X': if (symbol == '#') prefix = '0' + type.toLowerCase(); break;
+ case 'X':
+ if (symbol == '#') prefix = '0' + type.toLowerCase();
+ break;
case 'c':
- case 'd': integer = true; precision = 0; break;
- case 's': scale = -1; type = 'r'; break;
+ case 'd':
+ integer = true;
+ precision = 0;
+ break;
+ case 's':
+ scale = -1;
+ type = 'r';
+ break;
}
if (symbol == '\$') {
@@ -141,8 +159,8 @@ class NumberFormat {
// format. Preserve the existing suffix, if any, such as the
// currency symbol.
if (scale < 0) {
- FormatPrefix unit = new FormatPrefix(value,
- (precision != null) ? precision : 0);
+ FormatPrefix unit =
+ new FormatPrefix(value, (precision != null) ? precision : 0);
value = unit.scale(value);
fullSuffix = unit.symbol + suffix;
} else {
@@ -168,10 +186,13 @@ class NumberFormat {
before = formatGroup(before);
}
- var length = prefix.length + before.length + after.length +
+ var length = prefix.length +
+ before.length +
+ after.length +
(zcomma ? 0 : negative.length),
- padding = length < width ? new List.filled(
- (length = width - length + 1), '').join(fill) : '';
+ padding = length < width
+ ? new List.filled((length = width - length + 1), '').join(fill)
+ : '';
// If the fill character is '0', grouping is applied after padding.
if (zcomma) {
@@ -185,17 +206,23 @@ class NumberFormat {
value = before + after;
// Apply any padding and alignment attributes before returning the string.
- return (align == '<' ? negative + value + padding
- : align == '>' ? padding + negative + value
- : align == '^' ? padding.substring(0, length >>= 1) + negative +
- value + padding.substring(length)
- : negative + (zcomma ? value : padding + value)) + fullSuffix;
+ return (align == '<'
+ ? negative + value + padding
+ : align == '>'
+ ? padding + negative + value
+ : align == '^'
+ ? padding.substring(0, length >>= 1) +
+ negative +
+ value +
+ padding.substring(length)
+ : negative + (zcomma ? value : padding + value)) +
+ fullSuffix;
};
}
// Gets the format function by given type.
NumberFormatFunction _getFormatFunction(String type) {
- switch(type) {
+ switch (type) {
case 'b':
return (num x, [int p = 0]) => x.toInt().toRadixString(2);
case 'c':
@@ -218,4 +245,4 @@ class NumberFormat {
return (num x, [int p = 0]) => x.toString();
}
}
-}
+}
« no previous file with comments | « packages/charted/lib/locale/format.dart ('k') | packages/charted/lib/locale/format/time_format.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698