Skip to content

Commit 70f0b7b

Browse files
committed
Update number_formats.md
1 parent 72dade3 commit 70f0b7b

File tree

1 file changed

+35
-37
lines changed

1 file changed

+35
-37
lines changed

docs/documentation/guides/xtd.core/globalization/number_formats.md

Lines changed: 35 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Number formats supported by xtd
22

3-
| Name | currency decimal digits | currency decimal separator | currency group separator | currency group sizes | currency negative pattern | currency positive pattern | currency symbol | digit substitution | nan symbol | negative infinity symbol | negative sign | number decimal digits | number decimal separator | number group separator | number group sizes | number negative pattern | percent decimal digits | percent decimal separator | percent group separator | percent group sizes | percent negative pattern | percent positive pattern | percent symbol | per mille symbol | positive infinity symbol | positive sign |
4-
| ---- | ----------------------- | -------------------------- | ------------------------ | -------------------- | ------------------------- | ------------------------- | --------------- | ------------------ | ---------- | ------------------------ | ------------- | --------------------- | ------------------------ | ---------------------- | ------------------ | ----------------------- | ---------------------- | ------------------------- | ----------------------- | ------------------- | ------------------------ | ------------------------ | -------------- | ---------------- | ------------------------ | ------------- |
5-
| Invariant | 2 | . | , | 3 | 0 | 0 | ¤ | 1 | NaN | -Infinity | - | 2 | . | , | 3 | 1 | 2 | . | , | 3 | 0 | 0 | % || Infinity | + |
3+
| Name | currency decimal digits | currency decimal separator | currency group separator | currency group sizes | currency negative pattern | currency positive pattern | currency symbol | digit substitution | nan symbol | negative infinity symbol | negative sign | number decimal digits | number decimal separator | number group separator | number group sizes | number negative pattern | percent decimal digits | percent decimal separator | percent group separator | percent group sizes | percent negative pattern | percent positive pattern | percent symbol | per mille symbol | positive infinity symbol | positive sign |
4+
| ---- | ----------------------- | -------------------------- | ------------------------ | -------------------- | ------------------------- | ------------------------- | --------------- | ------------------ | ---------- | ------------------------ | ------------- | --------------------- | ------------------------ | ---------------------- | ------------------ | ----------------------- | ---------------------- | ------------------------- | ----------------------- | ------------------- | ------------------------ | ------------------------ | -------------- | ---------------- | ------------------------ | ------------- |
5+
| **Invariant** | 2 | . | , | 3 | 0 | 0 | ¤ | 1 | NaN | -Infinity | - | 2 | . | , | 3 | 1 | 2 | . | , | 3 | 0 | 0 | % || Infinity | + |
66
| af | 2 | , |   | 3 | 1 | 0 | ¤ | 1 | NaN | -∞ | - | 3 | , |   | 3 | 1 | 3 | , |   | 3 | 1 | 1 | % ||| + |
77
| af-NA | 2 | , |   | 3 | 1 | 0 | $ | 1 | NaN | -∞ | - | 3 | , |   | 3 | 1 | 3 | , |   | 3 | 1 | 1 | % ||| + |
88
| af-ZA | 2 | , |   | 3 | 1 | 0 | R | 1 | NaN | -∞ | - | 3 | , |   | 3 | 1 | 3 | , |   | 3 | 1 | 1 | % ||| + |
@@ -1046,49 +1046,47 @@
10461046
<!--
10471047
#include <xtd/xtd>
10481048
1049+
using namespace xtd::collections::specialized;
10491050
using namespace xtd::globalization;
10501051
using namespace xtd::text;
10511052
1052-
auto escape_md(const string& s) {
1053-
return s.aggregate<string>("", delegate_(const string& result, const char& c) {return result + (c == '|' ? "\\|" : as<string>(c));});
1054-
}
1055-
10561053
auto main() -> int {
1057-
auto columns = ordered_dictionary<string, delegate<string(const culture_info&)>> {
1058-
{"Name", {delegate_(const culture_info& c) {return c.name().empty() ? "Invariant" : c.name();}}},
1059-
{"currency decimal digits", {delegate_(const culture_info& c) {return as<string>(c.number_format().currency_decimal_digits());}}},
1060-
{"currency decimal separator", {delegate_(const culture_info& c) {return c.number_format().currency_decimal_separator();}}},
1061-
{"currency group separator", {delegate_(const culture_info& c) {return c.number_format().currency_group_separator();}}},
1062-
{"currency group sizes", {delegate_(const culture_info& c) {return string::join(", ", c.number_format().currency_group_sizes());}}},
1063-
{"currency negative pattern", {delegate_(const culture_info& c) {return as<string>(c.number_format().currency_negative_pattern());}}},
1064-
{"currency positive pattern", {delegate_(const culture_info& c) {return as<string>(c.number_format().currency_positive_pattern());}}},
1065-
{"currency symbol", {delegate_(const culture_info& c) {return c.number_format().currency_symbol();}}},
1066-
{"digit substitution", {delegate_(const culture_info& c) {return as<string>(c.number_format().digit_substitution());}}},
1067-
{"nan symbol", {delegate_(const culture_info& c) {return c.number_format().nan_symbol();}}},
1068-
{"negative infinity symbol", {delegate_(const culture_info& c) {return c.number_format().negative_infinity_symbol();}}},
1069-
{"negative sign", {delegate_(const culture_info& c) {return c.number_format().negative_sign();}}},
1070-
{"number decimal digits", {delegate_(const culture_info& c) {return as<string>(c.number_format().number_decimal_digits());}}},
1071-
{"number decimal separator", {delegate_(const culture_info& c) {return c.number_format().number_decimal_separator();}}},
1072-
{"number group separator", {delegate_(const culture_info& c) {return c.number_format().number_group_separator();}}},
1073-
{"number group sizes", {delegate_(const culture_info& c) {return string::join(", ", c.number_format().number_group_sizes());}}},
1074-
{"number negative pattern", {delegate_(const culture_info& c) {return as<string>(c.number_format().number_negative_pattern());}}},
1075-
{"percent decimal digits", {delegate_(const culture_info& c) {return as<string>(c.number_format().percent_decimal_digits());}}},
1076-
{"percent decimal separator", {delegate_(const culture_info& c) {return c.number_format().percent_decimal_separator();}}},
1077-
{"percent group separator", {delegate_(const culture_info& c) {return c.number_format().percent_group_separator();}}},
1078-
{"percent group sizes", {delegate_(const culture_info& c) {return string::join(", ", c.number_format().percent_group_sizes());}}},
1079-
{"percent negative pattern", {delegate_(const culture_info& c) {return as<string>(c.number_format().percent_negative_pattern());}}},
1080-
{"percent positive pattern", {delegate_(const culture_info& c) {return as<string>(c.number_format().percent_positive_pattern());}}},
1081-
{"percent symbol", {delegate_(const culture_info& c) {return c.number_format().percent_symbol();}}},
1082-
{"per mille symbol", {delegate_(const culture_info& c) {return c.number_format().per_mille_symbol();}}},
1083-
{"positive infinity symbol", {delegate_(const culture_info& c) {return c.number_format().positive_infinity_symbol();}}},
1084-
{"positive sign", {delegate_(const culture_info& c) {return c.number_format().positive_sign();}}}
1085-
};
1054+
using ci_action = delegate<string(const culture_info&)>;
1055+
auto columns = ordered_dictionary<string, ci_action> {};
1056+
columns["Name"] = ci_action {delegate_(const culture_info& c) {return c.name().empty() ? "**Invariant**" : c.name();}};
1057+
columns["currency decimal digits"] = ci_action {delegate_(const culture_info& c) {return as<string>(c.number_format().currency_decimal_digits());}};
1058+
columns["currency decimal separator"] = ci_action {delegate_(const culture_info& c) {return c.number_format().currency_decimal_separator();}};
1059+
columns["currency group separator"] = ci_action {delegate_(const culture_info& c) {return c.number_format().currency_group_separator();}};
1060+
columns["currency group sizes"] = ci_action {delegate_(const culture_info& c) {return string::join(", ", c.number_format().currency_group_sizes());}};
1061+
columns["currency negative pattern"] = ci_action {delegate_(const culture_info& c) {return as<string>(c.number_format().currency_negative_pattern());}};
1062+
columns["currency positive pattern"] = ci_action {delegate_(const culture_info& c) {return as<string>(c.number_format().currency_positive_pattern());}};
1063+
columns["currency symbol"] = ci_action {delegate_(const culture_info& c) {return c.number_format().currency_symbol();}};
1064+
columns["digit substitution"] = ci_action {delegate_(const culture_info& c) {return as<string>(c.number_format().digit_substitution());}};
1065+
columns["nan symbol"] = ci_action {delegate_(const culture_info& c) {return c.number_format().nan_symbol();}};
1066+
columns["negative infinity symbol"] = ci_action {delegate_(const culture_info& c) {return c.number_format().negative_infinity_symbol();}};
1067+
columns["negative sign"] = ci_action {delegate_(const culture_info& c) {return c.number_format().negative_sign();}};
1068+
columns["number decimal digits"] = ci_action {delegate_(const culture_info& c) {return as<string>(c.number_format().number_decimal_digits());}};
1069+
columns["number decimal separator"] = ci_action {delegate_(const culture_info& c) {return c.number_format().number_decimal_separator();}};
1070+
columns["number group separator"] = ci_action {delegate_(const culture_info& c) {return c.number_format().number_group_separator();}};
1071+
columns["number group sizes"] = ci_action {delegate_(const culture_info& c) {return string::join(", ", c.number_format().number_group_sizes());}};
1072+
columns["number negative pattern"] = ci_action {delegate_(const culture_info& c) {return as<string>(c.number_format().number_negative_pattern());}};
1073+
columns["percent decimal digits"] = ci_action {delegate_(const culture_info& c) {return as<string>(c.number_format().percent_decimal_digits());}};
1074+
columns["percent decimal separator"] = ci_action {delegate_(const culture_info& c) {return c.number_format().percent_decimal_separator();}};
1075+
columns["percent group separator"] = ci_action {delegate_(const culture_info& c) {return c.number_format().percent_group_separator();}};
1076+
columns["percent group sizes"] = ci_action {delegate_(const culture_info& c) {return string::join(", ", c.number_format().percent_group_sizes());}};
1077+
columns["percent negative pattern"] = ci_action {delegate_(const culture_info& c) {return as<string>(c.number_format().percent_negative_pattern());}};
1078+
columns["percent positive pattern"] = ci_action {delegate_(const culture_info& c) {return as<string>(c.number_format().percent_positive_pattern());}};
1079+
columns["percent symbol"] = ci_action {delegate_(const culture_info& c) {return c.number_format().percent_symbol();}};
1080+
columns["per mille symbol"] = ci_action {delegate_(const culture_info& c) {return c.number_format().per_mille_symbol();}};
1081+
columns["positive infinity symbol"] = ci_action {delegate_(const culture_info& c) {return c.number_format().positive_infinity_symbol();}};
1082+
columns["positive sign"] = ci_action {delegate_(const culture_info& c) {return c.number_format().positive_sign();}};
10861083
10871084
auto content = string_builder {};
10881085
content.append_line("# Number formats supported by xtd\n");
10891086
content.append_format("| {} |\n", string::join(" | ", columns.keys()));
10901087
content.append_format("| {} |\n", string::join(" | ", columns.keys().select(delegate_(auto v) {return string('-', v.length());})));
1091-
culture_info::get_cultures(culture_types::all_cultures).to_list().for_each(delegate_(auto c) {content.append_format("| {} |\n", string::join(" | ", columns.values().select<string>([&](auto v) {return v(c);})));});
1088+
auto escape_md = delegate_(const string& s) {return s.aggregate<string>("", delegate_(const string& result, const char& c) {return result + (c == '|' ? "\\|" : as<string>(c));});};
1089+
culture_info::get_cultures(culture_types::all_cultures).to_list().for_each(delegate_(auto c) {content.append_format("| {} |\n", string::join(" | ", columns.values().select<string>(delegate_(auto v) {return escape_md(v(c));})));});
10921090
file::write_all_text("number_formats.md", content.to_string());
10931091
console::write_line("Markdown table generated in number_formats.md");
10941092
}

0 commit comments

Comments
 (0)