msgid ""
msgstr ""
"Project-Id-Version: English (Boost Json Translation (zh_Hans))\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-06-06 13:58+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: English <https://insights.cppalliance.org/weblate/projects/"
"boost-json-documentation-zh_Hans/doc-pages-dom-numbers-adoc/en/>\n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.5\n"

#: :12
#, read-only, safe-html, strict-same
msgid ""
"= Numbers JSON numbers are represented using `std::int64_t`, "
"`std::uint64_t`, and `double`. When a <<ref_value>> is constructed from an "
"unsigned integer, its <<ref_kind>> will be `kind::uint64`. Likewise, a "
"<<ref_value>> constructed from a signed integer will have `kind::int64`, or "
"`kind::double_` if constructed from a floating-point type:"
msgstr ""
"= Numbers JSON numbers are represented using `std::int64_t`, "
"`std::uint64_t`, and `double`. When a <<ref_value>> is constructed from an "
"unsigned integer, its <<ref_kind>> will be `kind::uint64`. Likewise, a "
"<<ref_value>> constructed from a signed integer will have `kind::int64`, or "
"`kind::double_` if constructed from a floating-point type:"

#: :24
#, read-only, safe-html, strict-same
msgid ""
"When accessing a number contained within a <<ref_value>>, the function used "
"must match the value's <<ref_kind>> exactly; no conversions will be "
"performed. For example if `as_double` is called on a <<ref_value>> that "
"contains a `std::uint64_t`, an exception is thrown. Similarly, the function "
"`if_double` will return `nullptr` and calling `get_double` will result in "
"undefined behavior:"
msgstr ""
"When accessing a number contained within a <<ref_value>>, the function used "
"must match the value's <<ref_kind>> exactly; no conversions will be "
"performed. For example if `as_double` is called on a <<ref_value>> that "
"contains a `std::uint64_t`, an exception is thrown. Similarly, the function "
"`if_double` will return `nullptr` and calling `get_double` will result in "
"undefined behavior:"

#: :36
#, read-only, safe-html, strict-same
msgid ""
"In cases where you know that a <<ref_value>> contains a number but don't "
"know its <<ref_kind>>, `value::to_number` can be used to convert the "
"<<ref_value>> to an arithmetic type:"
msgstr ""
"In cases where you know that a <<ref_value>> contains a number but don't "
"know its <<ref_kind>>, `value::to_number` can be used to convert the "
"<<ref_value>> to an arithmetic type:"

#: :45
#, read-only, safe-html, strict-same
msgid ""
"If the <<ref_value>> does not contain a number, or if the conversion is to "
"an integer type `T` and the number cannot be represented exactly by `T`, the "
"conversion will fail. Otherwise, the result is the number converted to `T` "
"as-if by `static_cast`:"
msgstr ""
"If the <<ref_value>> does not contain a number, or if the conversion is to "
"an integer type `T` and the number cannot be represented exactly by `T`, the "
"conversion will fail. Otherwise, the result is the number converted to `T` "
"as-if by `static_cast`:"

#: :55
#, read-only, safe-html, strict-same
msgid ""
"In settings where exceptions cannot be used, an overload of "
"`value::to_number` accepting {ref_error_code} can be used instead with "
"identical semantics to its throwing counterpart:"
msgstr ""
"In settings where exceptions cannot be used, an overload of "
"`value::to_number` accepting {ref_error_code} can be used instead with "
"identical semantics to its throwing counterpart:"

#: :64
#, read-only, safe-html, strict-same
msgid ""
"When parsing a JSON document, the type used to represent a number is not "
"explicitly specified and must be determined from its value. In general, the "
"parser will choose the best type which can accurately store the number as it "
"appears in the document. Integers (i.e. numbers without decimals or "
"exponents) that cannot be represented by `std::uint64_t` and `std::int64_t` "
"will be represented as `double` to preserve their magnitude:"
msgstr ""
"When parsing a JSON document, the type used to represent a number is not "
"explicitly specified and must be determined from its value. In general, the "
"parser will choose the best type which can accurately store the number as it "
"appears in the document. Integers (i.e. numbers without decimals or "
"exponents) that cannot be represented by `std::uint64_t` and `std::int64_t` "
"will be represented as `double` to preserve their magnitude:"

#: :76
#, read-only, safe-html, strict-same
msgid "More formally, if the number:"
msgstr "More formally, if the number:"

#: :78
#, read-only, safe-html, strict-same
msgid "contains a decimal point, or"
msgstr "contains a decimal point, or"

#: :79
#, read-only, safe-html, strict-same
msgid "contains an exponent, or"
msgstr "contains an exponent, or"

#: :80
#, read-only, safe-html, strict-same
msgid "is negative and its value is less than `INT64_MIN`, or"
msgstr "is negative and its value is less than `INT64_MIN`, or"

#: :81
#, read-only, safe-html, strict-same
msgid "is positive and its value is greater than `UINT64_MAX`,"
msgstr "is positive and its value is greater than `UINT64_MAX`,"

#: :83
#, read-only, safe-html, strict-same
msgid ""
"then its type is `double`. Otherwise, if the number is positive and its "
"value is greater than `INT64_MAX`, then its type is `std::uint64_t`. All "
"other numbers are parsed as `std::int64_t`."
msgstr ""
"then its type is `double`. Otherwise, if the number is positive and its "
"value is greater than `INT64_MAX`, then its type is `std::uint64_t`. All "
"other numbers are parsed as `std::int64_t`."
