OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library number_format; | 5 library number_format; |
6 | 6 |
7 import 'dart:math'; | 7 import 'dart:math'; |
8 | 8 |
9 import "intl.dart"; | 9 import "intl.dart"; |
10 import "number_symbols.dart"; | 10 import "number_symbols.dart"; |
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
251 */ | 251 */ |
252 void _group(int totalLength, int position) { | 252 void _group(int totalLength, int position) { |
253 var distanceFromEnd = totalLength - position; | 253 var distanceFromEnd = totalLength - position; |
254 if (distanceFromEnd <= 1 || _groupingSize <= 0) return; | 254 if (distanceFromEnd <= 1 || _groupingSize <= 0) return; |
255 if (distanceFromEnd % _groupingSize == 1) { | 255 if (distanceFromEnd % _groupingSize == 1) { |
256 _add(symbols.GROUP_SEP); | 256 _add(symbols.GROUP_SEP); |
257 } | 257 } |
258 } | 258 } |
259 | 259 |
260 /** Returns the code point for the character '0'. */ | 260 /** Returns the code point for the character '0'. */ |
261 int get _zero => '0'.charCodes[0]; | 261 int get _zero => '0'.codeUnits.first; |
262 | 262 |
263 /** Returns the code point for the locale's zero digit. */ | 263 /** Returns the code point for the locale's zero digit. */ |
264 int get _localeZero => symbols.ZERO_DIGIT.charCodeAt(0); | 264 // Note that there is a slight risk of a locale's zero digit not fitting |
| 265 // into a single code unit, but it seems very unlikely, and if it did, |
| 266 // there's a pretty good chance that our assumptions about being able to do |
| 267 // arithmetic on it would also be invalid. |
| 268 int get _localeZero => symbols.ZERO_DIGIT.codeUnits.first; |
265 | 269 |
266 /** | 270 /** |
267 * Returns the prefix for [x] based on whether it's positive or negative. | 271 * Returns the prefix for [x] based on whether it's positive or negative. |
268 * In en_US this would be '' and '-' respectively. | 272 * In en_US this would be '' and '-' respectively. |
269 */ | 273 */ |
270 String _signPrefix(num x) { | 274 String _signPrefix(num x) { |
271 return x.isNegative ? _negativePrefix : _positivePrefix; | 275 return x.isNegative ? _negativePrefix : _positivePrefix; |
272 } | 276 } |
273 | 277 |
274 /** | 278 /** |
275 * Returns the suffix for [x] based on wether it's positive or negative. | 279 * Returns the suffix for [x] based on wether it's positive or negative. |
276 * In en_US there are no suffixes for positive or negative. | 280 * In en_US there are no suffixes for positive or negative. |
277 */ | 281 */ |
278 String _signSuffix(num x) { | 282 String _signSuffix(num x) { |
279 return x.isNegative ? _negativeSuffix : _positiveSuffix; | 283 return x.isNegative ? _negativeSuffix : _positiveSuffix; |
280 } | 284 } |
281 } | 285 } |
OLD | NEW |