format 1.2.0
format: ^1.2.0 copied to clipboard
A package for formatting Dart strings like a format method in Python.
example/format_example.dart
import 'package:format/format.dart';
import 'package:intl/intl.dart';
// ignore: long-method
void main() {
print(format('{}', 'hello world')); // "hello world"
print('{}'.format('hello world')); // "hello world"
'{}'.print('hello world'); // "hello world"
'{} {}'.print('hello', 'world'); // "hello world" (max 10 values)
'{} {}'
.print(['hello', 'world']); // "hello world" (unlimited number of values)
'{0} {1}'.print('hello', 'world'); // "hello world"
'{1} {0}'.print('hello', 'world'); // "world hello"
'{h} {w}'.print({'h': 'hello', 'w': 'world'}); // "hello world"
'{w} {h}'.print({#h: 'hello', #w: 'world'}); // "hello world"
'{"it\'s hello"} {"it\'s world"}'
.print({"it's hello": 'hello', "it's world": 'world'}); // "hello world"
'{:d}'.print(123); // "123"
'{:7d}'.print(123); // " 123"
'{:<7d}'.print(123); // "123 "
'{:^7d}'.print(123); // " 123 "
'{:*^7d}'.print(123); // "**123**"
'{:07d}'.print(123); // "0000123"
'{:09,d}'.print(123); // "0,000,123"
'{:09_d}'.print(123); // "0_000_123"
'{:0{},d}'.print(123, 9); // "0,000,123"
'{:0{},d}'.print(123, 11); // "000,000,123"
'{value:0{width},d}'.print({'value': 123, 'width': 13}); // "0,000,000,123"
'{:+d}'.print(123); // "+123"
'{: d}'.print(123); // " 123"
// Automatic type inference.
'{}'.print(123); // "123"
'{}'.print('aaa'); // "aaa"
'{:7}'.print(123); // " 123"
'{:7}'.print('aaa'); // "aaa "
const n = 123.4567;
'{:.2f}'.print(n); // 123.46
'{:10.2f}'.print(n); // ' 123.46'
'{:010.2f}'.print(n); // 0000123.46
'{:012,.2f}'.print(n); // 0,000,123.46
'{:012_.2f}'.print(n); // 0_000_123.46
'{:0{},.{}f}'.print(n, 12, 2); // 0,000,123.46
'{value:0{width},.{precision}f}'.print({
'value': n,
'width': 12,
'precision': 2,
}); // 0,000,123.46
const n1 = 123456.789;
const n2 = 1234567.89;
'{:g}'.print(n1); // 123457
'{:g}'.print(n2); // 1.23457e+6
'{:.9g}'.print(n1); // 123456.789
'{:.9g}'.print(n2); // 1234567.89
'{:.5g}'.print(n1); // 1.2346e+5
'{:.5g}'.print(n2); // 1.2346e+6
'{:g}'.print(double.nan); // nan
'{:g}'.print(double.infinity); // inf
'{:g}'.print(double.negativeInfinity); // -inf
const i = 12345678;
'{:b}'.print(i); // 101111000110000101001110
'{:d}'.print(i); // 12345678
'{:x}'.print(i); // bc614e
'{:X}'.print(i); // BC614E
'{:#x}'.print(i); // 0xbc614e
'{:#X}'.print(i); // 0xBC614E
'{:_b}'.print(i); // 1011_1100_0110_0001_0100_1110
'{:,d}'.print(i); // 12,345,678
'{:_d}'.print(i); // 12_345_678
'{:_x}'.print(i); // bc_614e
'{:_X}'.print(i); // BC_614E
'{:#_x}'.print(i); // 0xbc_614e
'{:#_X}'.print(i); // 0xBC_614E
'{:c}+{:c}+{:c}+{:c}={:c}'.print(
0x1F468, // ๐จ
0x1F469, // ๐ฉ
0x1F466, // ๐ฆ
0x1F467, // ๐ง
[0x1F468, 0x200D, 0x1F469, 0x200D, 0x1F466, 0x200D, 0x1F467], // ๐จโ๐ฉโ๐ฆโ๐ง
); // ๐จ+๐ฉ+๐ฆ+๐ง=๐จโ๐ฉโ๐ฆโ๐ง
'{:๐จ>10}'.print('!'); // ๐จ๐จ๐จ๐จ๐จ๐จ๐จ๐จ๐จ!
'{:๐จโ๐ฉโ๐ฆโ๐ง>10}'.print(
'!',
); // ๐จโ๐ฉโ๐ฆโ๐ง๐จโ๐ฉโ๐ฆโ๐ง๐จโ๐ฉโ๐ฆโ๐ง๐จโ๐ฉโ๐ฆโ๐ง๐จโ๐ฉโ๐ฆโ๐ง๐จโ๐ฉโ๐ฆโ๐ง๐จโ๐ฉโ๐ฆโ๐ง๐จโ๐ฉโ๐ฆโ๐ง๐จโ๐ฉโ๐ฆโ๐ง!
'{:aฬ>10}'.print('!'); // aฬaฬaฬaฬaฬaฬaฬaฬaฬ!
const m = 12345678.9;
Intl.defaultLocale = 'ru_RU';
'{:n}'.print(m); // 1,23457E7
'{:.9n}'.print(m); // 12345678,9
'{:012,.9n}'.print(m); // 12 345 678,9
'{:n}'.print(double.nan); // ะฝะต ัะธัะปะพ
'{:n}'.print(double.infinity); // โ
'{:n}'.print(double.negativeInfinity); // -โ
Intl.defaultLocale = 'de_DE';
'{:n}'.print(m); // 1,23457E7
'{:.9n}'.print(m); // 12345678,9
'{:012,.9n}'.print(m); // 12.345.678,9
Intl.defaultLocale = 'en_IN';
'{:n}'.print(m); // 1.23457E7
'{:.9n}'.print(m); // 12345678.9
'{:012,.9n}'.print(m); // 1,23,45,678.9
Intl.defaultLocale = 'bn';
'{:n}'.print(m); // เงง.เงจเงฉเงชเงซเงญEเงญ
'{:.9n}'.print(m); // เงงเงจเงฉเงชเงซเงฌเงญเงฎ.เงฏ
'{:012,.9n}'.print(m); // เงง,เงจเงฉ,เงชเงซ,เงฌเงญเงฎ.เงฏ
Intl.defaultLocale = 'ar_EG';
'{:n}'.print(m); // ูกูซูขูฃูคูฅูงุงุณูง
'{:.9n}'.print(m); // ูกูขูฃูคูฅูฆูงูจูซูฉ
'{:012,.9n}'.print(m); // ูกูขูฌูฃูคูฅูฌูฆูงูจูซูฉ
'{:n}'.print(double.nan); // ููุณ ุฑูู
'{:๐จ^5}'.print(':'); // ๐จ๐จ:๐จ๐จ
'{:๐จโ๐ฉโ๐ฆโ๐ง^5}'
.print(':'); // ๐จโ๐ฉโ๐ฆโ๐ง๐จโ๐ฉโ๐ฆโ๐ง:๐จโ๐ฉโ๐ฆโ๐ง๐จโ๐ฉโ๐ฆโ๐ง
}