@@ -33,35 +33,38 @@ class Printer {
3333 {String thousandsSeparator = ' ' ,
3434 int ? decimalPoints,
3535 String suffix = ' ' ,
36- int lPadLength = 10 }) {
36+ int lPadLength = 8 }) {
3737 late String str;
3838
3939 if (number.isInfinite) {
40- str = number.toString ();
41- } else {
42- assert (number >= 0 );
43- decimalPoints ?? =
44- number is int ? 0 : max (0 , 5 - number.toStringAsFixed (0 ).length);
45- str = number.toStringAsFixed (decimalPoints);
46-
47- if (number >= 1000 && thousandsSeparator.isNotEmpty) {
48- // add thousands separators, efficiency doesn't matter here...
49- final parts = str.split ('.' );
50- final digitsReversed =
51- parts[0 ].split ('' ).reversed.toList (growable: false );
52- str = parts.length == 1 ? '' : '.${parts [1 ]}' ;
53- for (var i = 0 ; i < digitsReversed.length; i++ ) {
54- if (i > 0 && i % 3 == 0 ) str = '$thousandsSeparator $str ' ;
55- str = '${digitsReversed [i ]}$str ' ;
56- }
40+ return lpad (number.toString (), lPadLength);
41+ }
42+ assert (number >= 0 );
43+ decimalPoints ?? =
44+ number is int ? 0 : max (0 , 5 - number.toStringAsFixed (0 ).length);
45+ str = number.toStringAsFixed (decimalPoints);
46+
47+ if (number >= 1000 && thousandsSeparator.isNotEmpty) {
48+ // add thousands separators, efficiency doesn't matter here...
49+ final parts = str.split ('.' );
50+ final digitsReversed =
51+ parts[0 ].split ('' ).reversed.toList (growable: false );
52+ str = parts.length == 1 ? '' : '.${parts [1 ]}' ;
53+ for (var i = 0 ; i < digitsReversed.length; i++ ) {
54+ if (i > 0 && i % 3 == 0 ) str = '$thousandsSeparator $str ' ;
55+ str = '${digitsReversed [i ]}$str ' ;
5756 }
58-
59- str += suffix;
6057 }
6158
62- return lpad (str, lPadLength);
59+ return lpad (str, lPadLength) + suffix ;
6360 }
6461
62+ static String formatMicroseconds (num number) => number < 1000
63+ ? format (number, suffix: ' μs' )
64+ : number < 1000000
65+ ? format (number / 1000 , suffix: ' ms' )
66+ : format (number / 1000000 , suffix: ' s' );
67+
6568 static String lpad (String text, int length) {
6669 while (text.length < length) {
6770 text = ' $text ' ;
0 commit comments