diff --git a/README.md b/README.md index c2eaf6f5..cac1c5eb 100644 --- a/README.md +++ b/README.md @@ -42,19 +42,18 @@ In the examples that follow, we'll use `Decimal128` objects. (Why "Decimal128"? ##### Add up the items of a bill, then add sales tax ```js -const one = new Decimal128(1); function calculateBill(items, tax) { let total = new Decimal128(0); for (let {price, count} of items) { total = total.add(new Decimal128(price).times(new Decimal128(count))); } - return total.multiply(tax.add(one)); + return total.multiply(tax.add(new Decimal128(1))); } let items = [{price: "1.25", count: 5}, {price: "5.00", count: 1}]; let tax = new Decimal128("0.0735"); let total = calculateBill(items, tax); -console.log(total.round(2).toString(); +console.log(total.toFixed(2)); ``` ##### Currency conversion @@ -70,6 +69,19 @@ let amountInEur = exchangeRateUsdToEur.multiply(amountInUsd); console.log(amountInEur.round(2).toString()); ``` +##### Format decimals with Intl.NumberFormat + +```js +const options = { + minimumFractionDigits: 2, + maximumFractionDigits: 4 +}; +const formatter = new Intl.NumberFormat(options) +formatter.format(new Decimal128("1.0")); // "1.00" +formatter.format(new Decimal128("1.000")); // "1.000" +formatter.format(new Decimal128("1.00000")); // "1.000" +``` + #### Why use JavaScript for this case? Historically, JavaScript may not have been considered a language where exact decimal numbers are even representable, to say nothing of doing (exact) calculations. In some application architectures, JS only deals with a string representing a human-readable decimal quantity (e.g, `"1.25"`), and never does calculations or conversions. However, several trends push towards JS’s deeper involvement in with decimal quantities: @@ -183,7 +195,7 @@ We will use the **Decimal128** data model for JavaScript decimals. Decimal128 is #### Unlimited precision decimals (AKA "BigDecimal") -The data model here consists of unlimited size decimals (no fixed bith-width), understood exactly as mathematical values. +The "BigDecimal" data model is based on unlimited-size decimals (no fixed bith-width), understood exactly as mathematical values. From the champion group’s perspective, both BigDecimal and Decimal128 are both coherent, valid proposals that would meet the needs of the primary use case. Just looking at the diversity of semantics in other programming languages, and the lack of practical issues that programmers run into, shows us that there are many workable answers here. @@ -229,7 +241,7 @@ Decimal is based on IEEE 754 Decimal128, which is a standard for base-10 decimal + a single NaN value--distinct from the built-in `NaN` of JS. The difference between quiet and singaling NaNs will be collapsed into a single Decimal NaN. + positive and negative infinity will be available, though, as with `NaN`, they are distinct from JS's built-in `Infinity` and `-Infinity`. -Decimal offers a *canonicalization by default* approach. Thus, when constructing a Decimal value from a string, all digits (including trailing zeros), but in calls to `toString`, the result will be canonicalized unless the option `canonicalize: false` is passed in. Example: +Decimal offers a *canonicalization by default* approach when converting to strings. In short, this means that if a Decimal has trailing zeros (e.g., "1.20"), they will be removed, by default. When constructing a Decimal value from a string, all digits—including trailing zeros—will be respected and stored. However, in calls to `toString`, the resulting string will be canonicalized (i.e., trailing zeroes removed) unless the option `canonicalize: false` is passed in in the argument options bag. Example: ```javascript let a = new Decimal128("-4.00"); @@ -239,9 +251,9 @@ console.log(a.toString({ canonicalize: false })); // -4.00 ### Operator semantics -+ Absolute value, addition, multiplication, subtraction, division, remainder, and negation are defined. ++ Absolute value, negation, addition, multiplication, subtraction, division, and remainder are defined. + Bitwise operators are not supported, as they don’t logically make sense on the Decimal domain ([#20](https://github.com/tc39/proposal-decimal/issues/20)) -+ rounding: all seven rounding modes of `Intl.NumberFormat` and `Temporal` will be supposed (in particular, all five rounding modes of IEEE 754 will be supported) ++ rounding: All five rounding modes of IEEE 754—floor, ceiling, truncate, round-ties-to-even, and round-ties-away-from-zero—will be supported. (This implies that a couple of the rounding modes in `Intl.NumberFormat` and `Temporal` won't be supported.) + We currently do not foresee Decimal values interacting with other Number values. Expect TypeErrors when trying to add, say, a Number to a Decimal, like for BigInt and Number. ([#10](https://github.com/tc39/proposal-decimal/issues/10)). The library of numerical functions here is kept deliberately minimal. It is based around targeting the primary use case, in which fairly straightforward calculations are envisioned. The secondary use case (data exchange) will involve probably little or no calculation at all. For the tertiary use case of scientific/numerical computations, developers may experiment in JavaScript, developing such libraries, and we may decide to standardize these functions in a follow-on proposal. We currently do not have good insight into the developer needs for this use case, except generically: square roots, exponentiation & logarithms, and trigonometric functions might be needed, but we are not sure if this is a complete list, and which are more important to have than others. In the meantime, one can use the various functions in JavaScript’s `Math` standard library. @@ -268,6 +280,8 @@ Decimal128 objects can be constructed from Numbers, Strings, and BigInts. Simila - [Decimal open-ended discussion](https://github.com/tc39/notes/blob/main/meetings/2023-07/july-12.md#decimal-open-ended-discussion) (July, 2023) - [Decimal stage 1 update and open discussion](https://github.com/tc39/notes/blob/main/meetings/2023-09/september-27.md#decimal-stage-1-update-and-discussion) (September, 2023) - [Decimal stage 1 update and request for feedback](https://github.com/tc39/notes/blob/main/meetings/2023-11/november-27.md#decimal-stage-1-update--request-for-feedback) (November, 2023) +- [Decimal for stage 2](https://github.com/tc39/notes/blob/main/meetings/2024-04/april-11.md#decimal-for-stage-2) (April, 2024) +- [Decimal for stage 2](https://github.com/tc39/notes/blob/main/meetings/2024-06/june-13.md#decimal-for-stage-2) (June, 2024) ## Future work diff --git a/index.html b/index.html index 7cbabe60..e16e801e 100644 --- a/index.html +++ b/index.html @@ -1559,7 +1559,7 @@ }); let sdoMap = JSON.parse(`{}`); -let biblio = JSON.parse(`{"refsByClause":{"sec-decimal128.prototype.exponent":["_ref_0","_ref_103","_ref_104","_ref_105","_ref_106","_ref_107"],"sec-decimal128.prototype.mantissa":["_ref_1","_ref_108","_ref_109","_ref_110","_ref_111","_ref_112","_ref_113"],"sec-decimal128.prototype.compare":["_ref_2","_ref_3","_ref_4","_ref_5"],"sec-decimal-method-round":["_ref_6","_ref_7","_ref_243","_ref_244","_ref_245","_ref_246","_ref_247","_ref_248","_ref_249"],"sec-decimal128.prototype.toprecision":["_ref_8","_ref_271","_ref_272","_ref_273","_ref_274","_ref_275","_ref_276"],"sec-decimal-intro":["_ref_9","_ref_10","_ref_11","_ref_12","_ref_13","_ref_14","_ref_15","_ref_16","_ref_17","_ref_18","_ref_19","_ref_20","_ref_21","_ref_22","_ref_23","_ref_24","_ref_25","_ref_26","_ref_27","_ref_28","_ref_29","_ref_30","_ref_31","_ref_32","_ref_33","_ref_34","_ref_35","_ref_36","_ref_37","_ref_38","_ref_39","_ref_40","_ref_41","_ref_42","_ref_43","_ref_44","_ref_45","_ref_46","_ref_47","_ref_48","_ref_49","_ref_50","_ref_51","_ref_52","_ref_53","_ref_54","_ref_55","_ref_56","_ref_57"],"sec-decimal128-roundtodecimal128domain":["_ref_58","_ref_59","_ref_60","_ref_61","_ref_62","_ref_63","_ref_64"],"sec-decimal128-applyroundingmodetopositive":["_ref_65","_ref_66","_ref_67","_ref_68"],"sec-decimal128-pickquantum":["_ref_69","_ref_70","_ref_71","_ref_72","_ref_73","_ref_74","_ref_75","_ref_76","_ref_77"],"sec-decimal128-roundandpickquantum":["_ref_78","_ref_79","_ref_80","_ref_81","_ref_82","_ref_83"],"sec-decimal128-abs":["_ref_84","_ref_85"],"sec-decimal128-negate":["_ref_86","_ref_87"],"sec-decimal128-decimal128todecimalstring":["_ref_88","_ref_89","_ref_90","_ref_91"],"sec-decimal128toexponentialstring":["_ref_92","_ref_93"],"sec-decimal128-value-to-object":["_ref_94"],"sec-the-decimal128-constructor-value":["_ref_95"],"sec-runtime-semantics-stringdecimalvalue":["_ref_96","_ref_97","_ref_98","_ref_99","_ref_100","_ref_101","_ref_102"],"sec-decimal128.prototype.precision":["_ref_114","_ref_115"],"sec-decimal128.prototype.abs":["_ref_116","_ref_117"],"sec-decimal128.prototype.negate":["_ref_118","_ref_119","_ref_120"],"sec-decimal128.prototype.add":["_ref_121","_ref_122","_ref_123","_ref_124","_ref_125","_ref_126","_ref_127","_ref_128","_ref_129","_ref_130","_ref_131","_ref_132","_ref_133","_ref_134","_ref_135","_ref_136"],"sec-decimal128.prototype.subtract":["_ref_137","_ref_138","_ref_139","_ref_140","_ref_141","_ref_142","_ref_143","_ref_144","_ref_145","_ref_146","_ref_147","_ref_148","_ref_149"],"sec-decimal128.prototype.multiply":["_ref_150","_ref_151","_ref_152","_ref_153","_ref_154","_ref_155","_ref_156","_ref_157","_ref_158","_ref_159","_ref_160","_ref_161","_ref_162","_ref_163","_ref_164","_ref_165","_ref_166","_ref_167","_ref_168","_ref_169","_ref_170","_ref_171","_ref_172","_ref_173","_ref_174","_ref_175","_ref_176","_ref_177","_ref_178","_ref_179","_ref_180"],"sec-decimal128.prototype.divide":["_ref_181","_ref_182","_ref_183","_ref_184","_ref_185","_ref_186","_ref_187","_ref_188","_ref_189","_ref_190","_ref_191","_ref_192","_ref_193","_ref_194","_ref_195","_ref_196","_ref_197","_ref_198","_ref_199","_ref_200","_ref_201","_ref_202","_ref_203","_ref_204","_ref_205","_ref_206"],"sec-decimal128.prototype.remainder":["_ref_207","_ref_208","_ref_209","_ref_210","_ref_211","_ref_212","_ref_213","_ref_214","_ref_215","_ref_216","_ref_217","_ref_218","_ref_219","_ref_220","_ref_221","_ref_222","_ref_223","_ref_224"],"sec-decimal128.prototype.equals":["_ref_225","_ref_226","_ref_227"],"sec-decimal128.prototype.notequals":["_ref_228","_ref_229","_ref_230"],"sec-decimal128.prototype.lessthan":["_ref_231","_ref_232","_ref_233"],"sec-decimal128.prototype.lessthanorequal":["_ref_234","_ref_235","_ref_236"],"sec-decimal128.prototype.greaterthan":["_ref_237","_ref_238","_ref_239"],"sec-decimal128.prototype.greaterthanorequal":["_ref_240","_ref_241","_ref_242"],"sec-decimal-method-scale10":["_ref_250","_ref_251","_ref_252","_ref_253","_ref_254","_ref_255","_ref_256","_ref_257","_ref_258","_ref_259","_ref_260","_ref_261","_ref_262","_ref_263","_ref_264"],"sec-decimal128.prototype.tostring":["_ref_265","_ref_266","_ref_267","_ref_268"],"sec-decimal128.prototype.toexponential":["_ref_269"],"sec-decimal128.prototype.tofixed":["_ref_270"],"sec-number-constructor-number-value":["_ref_277"],"sec-bigint-constructor-number-value":["_ref_278"],"sec-numbertobigint":["_ref_279"],"sec-tointlmathematicalvalue":["_ref_280","_ref_281","_ref_282","_ref_283","_ref_284"],"sec-formatnumberstring":["_ref_285","_ref_286","_ref_287","_ref_288","_ref_289","_ref_290","_ref_291","_ref_292","_ref_293","_ref_294","_ref_295"],"sec-torawprecision":["_ref_296","_ref_297","_ref_298","_ref_299","_ref_300","_ref_301","_ref_302","_ref_303","_ref_304","_ref_305","_ref_306"],"sec-torawfixed":["_ref_307","_ref_308","_ref_309","_ref_310","_ref_311","_ref_312","_ref_313","_ref_314","_ref_315","_ref_316","_ref_317"],"sec-partitionnumberpattern":["_ref_318","_ref_319","_ref_320","_ref_321","_ref_322","_ref_323","_ref_324","_ref_325","_ref_326"],"sec-resolveplural":["_ref_327","_ref_328"],"sec-resolvepluralrange":["_ref_329","_ref_330"]},"entries":[{"type":"clause","id":"sec-decimal-intro-","titleHTML":"Introduction","number":""},{"type":"term","term":"finite","id":"dfn-decimal128-finite","referencingIds":["_ref_13","_ref_14","_ref_17","_ref_23","_ref_29","_ref_34","_ref_37","_ref_40","_ref_42","_ref_45","_ref_54","_ref_57","_ref_97","_ref_104","_ref_109","_ref_282","_ref_286","_ref_297","_ref_308"]},{"type":"term","term":"zero","id":"dfn-decimal128-zero","referencingIds":["_ref_9","_ref_10","_ref_15","_ref_18","_ref_19","_ref_21","_ref_22","_ref_30","_ref_35","_ref_38","_ref_41","_ref_43","_ref_46","_ref_52","_ref_55","_ref_56","_ref_105","_ref_110","_ref_151","_ref_157"]},{"type":"term","term":"mathematical value","id":"dfn-decimal128-mathematical-value","referencingIds":["_ref_2","_ref_3","_ref_4","_ref_5","_ref_11","_ref_12","_ref_16","_ref_31","_ref_48","_ref_58","_ref_60","_ref_61","_ref_63","_ref_65","_ref_67","_ref_68","_ref_70","_ref_72","_ref_78","_ref_80","_ref_103","_ref_107","_ref_108","_ref_112","_ref_225","_ref_228","_ref_231","_ref_234","_ref_237","_ref_240","_ref_281","_ref_283","_ref_284","_ref_285","_ref_287","_ref_291","_ref_296","_ref_299","_ref_300","_ref_303","_ref_305","_ref_307","_ref_310","_ref_311","_ref_314","_ref_316","_ref_322"]},{"type":"term","term":"Decimal128 rounding mode","id":"dfn-decimal128-rounding-mode","referencingIds":["_ref_20","_ref_59","_ref_66","_ref_79"]},{"type":"term","term":"default rounding mode","id":"dfn-decimal128-default-rounding-mode","referencingIds":["_ref_6","_ref_7"]},{"type":"table","id":"table-decimal128-rounding-modes","number":1,"caption":"Table 1: Rounding modes in Decimal128 compared to IEEE 754 rounding modes"},{"type":"op","aoid":"cohort","id":"eqn-decimal128-cohort","referencingIds":["_ref_73","_ref_74","_ref_76","_ref_84","_ref_86","_ref_90","_ref_92","_ref_98","_ref_106","_ref_111","_ref_125","_ref_126","_ref_142","_ref_143","_ref_163","_ref_164","_ref_192","_ref_193","_ref_210","_ref_211","_ref_226","_ref_227","_ref_229","_ref_230","_ref_232","_ref_233","_ref_235","_ref_236","_ref_238","_ref_239","_ref_241","_ref_242","_ref_244","_ref_251","_ref_265","_ref_272","_ref_279","_ref_289","_ref_301","_ref_312","_ref_319"]},{"type":"op","aoid":"quantum","id":"eqn-decimal128-quantum","referencingIds":["_ref_75","_ref_77","_ref_81","_ref_85","_ref_87","_ref_91","_ref_93","_ref_99","_ref_114","_ref_115","_ref_127","_ref_128","_ref_144","_ref_145","_ref_165","_ref_166","_ref_194","_ref_195","_ref_212","_ref_213","_ref_252","_ref_266","_ref_273","_ref_302","_ref_313","_ref_320"]},{"type":"op","aoid":"sign","id":"dfn-decimal128-sign","referencingIds":["_ref_24","_ref_25","_ref_26","_ref_27","_ref_28","_ref_88","_ref_118","_ref_153","_ref_154","_ref_159","_ref_160","_ref_167","_ref_168","_ref_173","_ref_174","_ref_183","_ref_187","_ref_190","_ref_191","_ref_246","_ref_298","_ref_309","_ref_324","_ref_325","_ref_326"]},{"type":"term","term":"exponent","id":"dfn-decimal128-exponent","referencingIds":["_ref_0","_ref_32","_ref_39","_ref_44","_ref_47","_ref_51"]},{"type":"term","term":"significand","id":"dfn-decimal128-significand","referencingIds":["_ref_1","_ref_33","_ref_36"]},{"type":"term","term":"normalized","id":"dfn-decimal128-normalized","referencingIds":["_ref_49","_ref_50"]},{"type":"term","term":"denormalized","id":"dfn-decimal128-denormalized-","referencingIds":["_ref_53"]},{"type":"term","term":"decimal cohort","id":"dfn-decimal-cohort","referencingIds":["_ref_69","_ref_71"]},{"type":"term","term":"truncated exponent","refId":"sec-decimal-intro"},{"type":"term","term":"scaled significand","refId":"sec-decimal-intro"},{"type":"clause","id":"sec-decimal-intro","titleHTML":"Introduction","number":"","referencingIds":["_ref_321"]},{"type":"op","aoid":"ApplyRoundingModeToPositive","refId":"sec-decimal128-applyroundingmodetopositive"},{"type":"clause","id":"sec-decimal128-applyroundingmodetopositive","title":"ApplyRoundingModeToPositive ( m, roundingMode )","titleHTML":"ApplyRoundingModeToPositive ( m, roundingMode )","number":"1.1.1.1","referencingIds":["_ref_64","_ref_247"]},{"type":"op","aoid":"RoundToDecimal128Domain","refId":"sec-decimal128-roundtodecimal128domain"},{"type":"clause","id":"sec-decimal128-roundtodecimal128domain","title":"RoundToDecimal128Domain ( v [ , roundingMode ] )","titleHTML":"RoundToDecimal128Domain ( v [ , roundingMode ] )","number":"1.1.1","referencingIds":["_ref_62","_ref_83"]},{"type":"op","aoid":"PickQuantum","refId":"sec-decimal128-pickquantum"},{"type":"clause","id":"sec-decimal128-pickquantum","title":"PickQuantum ( d, v, preferredQuantum )","titleHTML":"PickQuantum ( d, v, preferredQuantum )","number":"1.1.2","referencingIds":["_ref_82","_ref_130","_ref_132","_ref_134","_ref_147","_ref_170","_ref_172","_ref_176","_ref_178","_ref_198","_ref_200","_ref_202","_ref_204","_ref_216","_ref_218","_ref_220","_ref_222","_ref_224","_ref_257"]},{"type":"op","aoid":"RoundAndPickQuantum","refId":"sec-decimal128-roundandpickquantum"},{"type":"clause","id":"sec-decimal128-roundandpickquantum","title":"RoundAndPickQuantum ( d, preferredQuantum [ , roundingMode ] )","titleHTML":"RoundAndPickQuantum ( d, preferredQuantum [ , roundingMode ] )","number":"1.1.3","referencingIds":["_ref_100","_ref_101","_ref_102","_ref_136","_ref_149","_ref_180","_ref_206","_ref_249","_ref_264","_ref_275"]},{"type":"op","aoid":"Decimal128Abs","refId":"sec-decimal128-abs"},{"type":"clause","id":"sec-decimal128-abs","title":"Decimal128Abs ( argument )","titleHTML":"Decimal128Abs ( argument )","number":"1.1.4","referencingIds":["_ref_89","_ref_117","_ref_290"]},{"type":"op","aoid":"Decimal128Negate","refId":"sec-decimal128-negate"},{"type":"clause","id":"sec-decimal128-negate","title":"Decimal128Negate ( argument )","titleHTML":"Decimal128Negate ( argument )","number":"1.1.5","referencingIds":["_ref_120"]},{"type":"op","aoid":"Decimal128ToDecimalString","refId":"sec-decimal128-decimal128todecimalstring"},{"type":"clause","id":"sec-decimal128-decimal128todecimalstring","title":"Decimal128ToDecimalString ( argument, preserveTrailingZeroes )","titleHTML":"Decimal128ToDecimalString ( argument, preserveTrailingZeroes )","number":"1.1.6","referencingIds":["_ref_268","_ref_270","_ref_271","_ref_274","_ref_276"]},{"type":"op","aoid":"Decimal128ToExponentialString","refId":"sec-decimal128toexponentialstring"},{"type":"clause","id":"sec-decimal128toexponentialstring","title":"Decimal128ToExponentialString ( argument, preserveTrailingZeroes )","titleHTML":"Decimal128ToExponentialString ( argument, preserveTrailingZeroes )","number":"1.1.7","referencingIds":["_ref_267","_ref_269","_ref_277"]},{"type":"op","aoid":"Decimal128ValueToObject","refId":"sec-decimal128-value-to-object"},{"type":"clause","id":"sec-decimal128-value-to-object","title":"Decimal128ValueToObject ( argument )","titleHTML":"Decimal128ValueToObject ( argument )","number":"1.1.8","referencingIds":["_ref_113","_ref_116","_ref_119","_ref_121","_ref_122","_ref_123","_ref_124","_ref_129","_ref_131","_ref_133","_ref_135","_ref_137","_ref_138","_ref_139","_ref_140","_ref_141","_ref_146","_ref_148","_ref_150","_ref_152","_ref_155","_ref_156","_ref_158","_ref_161","_ref_162","_ref_169","_ref_171","_ref_175","_ref_177","_ref_179","_ref_181","_ref_182","_ref_184","_ref_185","_ref_186","_ref_188","_ref_189","_ref_196","_ref_197","_ref_199","_ref_201","_ref_203","_ref_205","_ref_207","_ref_208","_ref_209","_ref_214","_ref_215","_ref_217","_ref_219","_ref_221","_ref_223","_ref_243","_ref_245","_ref_248","_ref_250","_ref_253","_ref_254","_ref_255","_ref_256","_ref_258","_ref_259","_ref_260","_ref_261","_ref_262","_ref_263"]},{"type":"clause","id":"sec-decimal-abstract-ops","titleHTML":"Abstract Operations","number":"1.1"},{"type":"term","term":"%Decimal128%","refId":"sec-the-decimal-constructor"},{"type":"op","aoid":"StringDecimalValue","refId":"sec-runtime-semantics-stringdecimalvalue"},{"type":"clause","id":"sec-runtime-semantics-stringdecimalvalue","titleHTML":"Runtime Semantics: StringDecimalValue","number":"1.2.1.1","referencingIds":["_ref_95","_ref_96"]},{"type":"clause","id":"sec-the-decimal128-constructor-value","title":"Decimal128 ( x )","titleHTML":"Decimal128 ( x )","number":"1.2.1"},{"type":"clause","id":"sec-the-decimal-constructor","titleHTML":"The Decimal128 Constructor","number":"1.2","referencingIds":["_ref_94"]},{"type":"clause","id":"sec-the-decimal-object","titleHTML":"The Decimal128 Object","number":"1"},{"type":"clause","id":"sec-decimal128.prototype.isnan","titleHTML":"Decimal128.prototype.isNaN ( )","number":"2.1"},{"type":"clause","id":"sec-decimal128.prototype.isfinite","titleHTML":"Decimal128.prototype.isFinite ( )","number":"2.2"},{"type":"clause","id":"sec-decimal128.prototype.exponent","titleHTML":"Decimal128.prototype.exponent ( )","number":"2.3"},{"type":"clause","id":"sec-decimal128.prototype.mantissa","titleHTML":"Decimal128.prototype.mantissa ( )","number":"2.4"},{"type":"clause","id":"sec-decimal128.prototype.precision","titleHTML":"Decimal128.prototype.precision","number":"2.5"},{"type":"clause","id":"sec-decimal128.prototype.abs","titleHTML":"Decimal128.prototype.abs ( )","number":"2.6"},{"type":"clause","id":"sec-decimal128.prototype.negate","titleHTML":"Decimal128.prototype.negate ( )","number":"2.7"},{"type":"clause","id":"sec-decimal128.prototype.add","title":"Decimal128.prototype.add ( x )","titleHTML":"Decimal128.prototype.add ( x )","number":"2.8"},{"type":"clause","id":"sec-decimal128.prototype.subtract","title":"Decimal128.prototype.subtract ( x )","titleHTML":"Decimal128.prototype.subtract ( x )","number":"2.9"},{"type":"clause","id":"sec-decimal128.prototype.multiply","title":"Decimal128.prototype.multiply ( x )","titleHTML":"Decimal128.prototype.multiply ( x )","number":"2.10"},{"type":"clause","id":"sec-decimal128.prototype.divide","title":"Decimal128.prototype.divide ( x )","titleHTML":"Decimal128.prototype.divide ( x )","number":"2.11"},{"type":"clause","id":"sec-decimal128.prototype.remainder","title":"Decimal128.prototype.remainder ( x )","titleHTML":"Decimal128.prototype.remainder ( x )","number":"2.12"},{"type":"clause","id":"sec-decimal128.prototype.compare","title":"Decimal128.prototype.compare ( x )","titleHTML":"Decimal128.prototype.compare ( x )","number":"2.13"},{"type":"clause","id":"sec-decimal128.prototype.equals","title":"Decimal128.prototype.equals ( x )","titleHTML":"Decimal128.prototype.equals ( x )","number":"2.14"},{"type":"clause","id":"sec-decimal128.prototype.notequals","title":"Decimal128.prototype.notEquals ( x )","titleHTML":"Decimal128.prototype.notEquals ( x )","number":"2.15"},{"type":"clause","id":"sec-decimal128.prototype.lessthan","title":"Decimal128.prototype.lessThan ( x )","titleHTML":"Decimal128.prototype.lessThan ( x )","number":"2.16"},{"type":"clause","id":"sec-decimal128.prototype.lessthanorequal","title":"Decimal128.prototype.lessThanOrEqual ( x )","titleHTML":"Decimal128.prototype.lessThanOrEqual ( x )","number":"2.17"},{"type":"clause","id":"sec-decimal128.prototype.greaterthan","title":"Decimal128.prototype.greaterThan ( x )","titleHTML":"Decimal128.prototype.greaterThan ( x )","number":"2.18"},{"type":"clause","id":"sec-decimal128.prototype.greaterthanorequal","title":"Decimal128.prototype.greaterThanOrEqual ( x )","titleHTML":"Decimal128.prototype.greaterThanOrEqual ( x )","number":"2.19"},{"type":"clause","id":"sec-decimal-method-round","title":"Decimal128.prototype.round ( numFractionalDigits [ , roundingMode ] )","titleHTML":"Decimal128.prototype.round ( numFractionalDigits [ , roundingMode ] )","number":"2.20"},{"type":"clause","id":"sec-decimal-method-scale10","title":"Decimal128.prototype.scale10 ( n )","titleHTML":"Decimal128.prototype.scale10 ( n )","number":"2.21"},{"type":"clause","id":"sec-decimal128.prototype.tostring","title":"Decimal128.prototype.toString ( [ options ] )","titleHTML":"Decimal128.prototype.toString ( [ options ] )","number":"2.22","referencingIds":["_ref_8"]},{"type":"clause","id":"sec-decimal128.prototype.toexponential","title":"Decimal128.prototype.toExponential ( [ options ] )","titleHTML":"Decimal128.prototype.toExponential ( [ options ] )","number":"2.23"},{"type":"clause","id":"sec-decimal128.prototype.tofixed","title":"Decimal128.prototype.toFixed ( [ options ] )","titleHTML":"Decimal128.prototype.toFixed ( [ options ] )","number":"2.24"},{"type":"clause","id":"sec-decimal128.prototype.toprecision","title":"Decimal128.prototype.toPrecision ( [ options ] )","titleHTML":"Decimal128.prototype.toPrecision ( [ options ] )","number":"2.25"},{"type":"clause","id":"sec-decimal128.prototype.valueof","title":"Decimal128.prototype.valueOf ( x )","titleHTML":"Decimal128.prototype.valueOf ( x )","number":"2.26"},{"type":"clause","id":"sec-decimal-prototype-properties","titleHTML":"Properties of the Decimal128 Prototype","number":"2"},{"type":"clause","id":"sec-number-constructor-number-value","title":"Number ( value )","titleHTML":"Number ( value )","number":"3.1.1.1"},{"type":"clause","id":"sec-number-constructor","titleHTML":"The Number Constructor","number":"3.1.1"},{"type":"clause","id":"sec-number-objects","titleHTML":"Number Objects","number":"3.1"},{"type":"op","aoid":"Decimal128ToBigInt","refId":"sec-numbertobigint"},{"type":"clause","id":"sec-numbertobigint","title":"Decimal128ToBigInt ( number )","titleHTML":"Decimal128ToBigInt ( number )","number":"3.2.1.1.1","referencingIds":["_ref_278"]},{"type":"clause","id":"sec-bigint-constructor-number-value","title":"BigInt ( value )","titleHTML":"BigInt ( value )","number":"3.2.1.1"},{"type":"clause","id":"sec-bigint-constructor","titleHTML":"The BigInt Constructor","number":"3.2.1"},{"type":"clause","id":"sec-bigint-objects","titleHTML":"BigInt Objects","number":"3.2"},{"type":"clause","id":"sec-numbers-and-dates","titleHTML":"Numbers and Dates","number":"3"},{"type":"term","term":"Intl mathematical value","id":"intl-mathematical-value","referencingIds":["_ref_280","_ref_288","_ref_318"]},{"type":"op","aoid":"ToIntlMathematicalValue","refId":"sec-tointlmathematicalvalue"},{"type":"clause","id":"sec-tointlmathematicalvalue","title":"ToIntlMathematicalValue ( value )","titleHTML":"ToIntlMathematicalValue ( value )","number":"4.1.1.1"},{"type":"op","aoid":"FormatNumericToString","refId":"sec-formatnumberstring"},{"type":"clause","id":"sec-formatnumberstring","title":"FormatNumericToString ( intlObject, x )","titleHTML":"FormatNumericToString ( intlObject, x )","number":"4.1.1.2","referencingIds":["_ref_323","_ref_327","_ref_328"]},{"type":"op","aoid":"ToRawPrecisionFn","id":"eqn-ToRawPrecisionFn","referencingIds":["_ref_304","_ref_306"]},{"type":"op","aoid":"ToRawPrecision","refId":"sec-torawprecision"},{"type":"clause","id":"sec-torawprecision","title":"ToRawPrecision ( x, minPrecision, maxPrecision, unsignedRoundingMode )","titleHTML":"ToRawPrecision ( x, minPrecision, maxPrecision, unsignedRoundingMode )","number":"4.1.1.3","referencingIds":["_ref_292","_ref_294"]},{"type":"op","aoid":"ToRawFixedFn","id":"eqn-ToRawFixedFn","referencingIds":["_ref_315","_ref_317"]},{"type":"op","aoid":"ToRawFixed","refId":"sec-torawfixed"},{"type":"clause","id":"sec-torawfixed","title":"ToRawFixed ( x, minFraction, maxFraction, roundingIncrement, unsignedRoundingMode )","titleHTML":"ToRawFixed ( x, minFraction, maxFraction, roundingIncrement, unsignedRoundingMode )","number":"4.1.1.4","referencingIds":["_ref_293","_ref_295"]},{"type":"op","aoid":"PartitionNumberPattern","refId":"sec-partitionnumberpattern"},{"type":"clause","id":"sec-partitionnumberpattern","title":"PartitionNumberPattern ( numberFormat, x )","titleHTML":"PartitionNumberPattern ( numberFormat, x )","number":"4.1.1.5"},{"type":"clause","id":"sec-numberformat-abstracts","titleHTML":"Abstract Operations for NumberFormat Objects","number":"4.1.1"},{"type":"clause","id":"numberformat-objects","titleHTML":"NumberFormat Objects","number":"4.1"},{"type":"op","aoid":"ResolvePlural","refId":"sec-resolveplural"},{"type":"clause","id":"sec-resolveplural","title":"ResolvePlural ( pluralRules, n )","titleHTML":"ResolvePlural ( pluralRules, n )","number":"4.2.1.1","referencingIds":["_ref_329","_ref_330"]},{"type":"op","aoid":"ResolvePluralRange","refId":"sec-resolvepluralrange"},{"type":"clause","id":"sec-resolvepluralrange","title":"ResolvePluralRange ( pluralRules, x, y )","titleHTML":"ResolvePluralRange ( pluralRules, x, y )","number":"4.2.1.2"},{"type":"clause","id":"sec-intl-pluralrules-abstracts","titleHTML":"Abstract Operations for PluralRules Objects","number":"4.2.1"},{"type":"clause","id":"pluralrules-objects","titleHTML":"PluralRules Objects","number":"4.2"},{"type":"clause","id":"sec-decimal-intl","titleHTML":"Amendments to the ECMAScript® 2024 Internationalization API Specification","number":"4"},{"type":"clause","id":"sec-copyright-and-software-license","title":"Copyright & Software License","titleHTML":"Copyright & Software License","number":"A"}]}`); +let biblio = JSON.parse(`{"refsByClause":{"sec-decimal128.prototype.exponent":["_ref_0","_ref_114","_ref_115","_ref_116","_ref_117"],"sec-decimal128.prototype.mantissa":["_ref_1","_ref_118","_ref_119","_ref_120","_ref_121","_ref_122","_ref_123","_ref_124","_ref_125","_ref_126","_ref_127","_ref_128"],"sec-decimal-method-round":["_ref_2","_ref_3","_ref_264","_ref_265","_ref_266","_ref_267","_ref_268","_ref_269","_ref_270","_ref_271"],"sec-decimal128.prototype.tolocalestring":["_ref_4"],"sec-decimal128.prototype.tofixed":["_ref_5","_ref_293","_ref_294","_ref_295"],"sec-decimal128.prototype.toprecision":["_ref_6","_ref_296","_ref_297","_ref_298","_ref_299"],"sup-decimal128.prototype.tolocalestring":["_ref_7"],"sec-decimal-intro":["_ref_8","_ref_9","_ref_10","_ref_11","_ref_12","_ref_13","_ref_14","_ref_15","_ref_16","_ref_17","_ref_18","_ref_19","_ref_20","_ref_21","_ref_22","_ref_23","_ref_24","_ref_25","_ref_26","_ref_27","_ref_28","_ref_29","_ref_30","_ref_31","_ref_32","_ref_33","_ref_34","_ref_35","_ref_36","_ref_37","_ref_38","_ref_39","_ref_40","_ref_41","_ref_42","_ref_43","_ref_44","_ref_45","_ref_46","_ref_47","_ref_48","_ref_49","_ref_50","_ref_51","_ref_52","_ref_53","_ref_54","_ref_55","_ref_56","_ref_57"],"sec-decimal128-roundtodecimal128domain":["_ref_58","_ref_59","_ref_60","_ref_61","_ref_62","_ref_63","_ref_64"],"sec-decimal128-applyroundingmodetopositive":["_ref_65","_ref_66","_ref_67"],"sec-decimal128-pickquantum":["_ref_68","_ref_69","_ref_70","_ref_71","_ref_72","_ref_73","_ref_74","_ref_75","_ref_76"],"sec-decimal128-roundandpickquantum":["_ref_77","_ref_78","_ref_79","_ref_80","_ref_81","_ref_82"],"sec-decimal128-abs":["_ref_83","_ref_84"],"sec-decimal128-negate":["_ref_85","_ref_86"],"sec-decimal128-decimal128todecimalstring":["_ref_87","_ref_88","_ref_89","_ref_90","_ref_91","_ref_92","_ref_93"],"sec-decimal128toexponentialstring":["_ref_94","_ref_95","_ref_96","_ref_97"],"sec-decimal128-value-to-object":["_ref_98"],"sec-the-decimal128-constructor-value":["_ref_99"],"sec-runtime-semantics-stringdecimalvalue":["_ref_100","_ref_101","_ref_102","_ref_103","_ref_104","_ref_105","_ref_106","_ref_107","_ref_108","_ref_109","_ref_110","_ref_111","_ref_112","_ref_113"],"sec-decimal128.prototype.precision":["_ref_129","_ref_130"],"sec-decimal128.prototype.abs":["_ref_131","_ref_132"],"sec-decimal128.prototype.negate":["_ref_133","_ref_134","_ref_135"],"sec-decimal128.prototype.add":["_ref_136","_ref_137","_ref_138","_ref_139","_ref_140","_ref_141","_ref_142","_ref_143","_ref_144","_ref_145","_ref_146","_ref_147","_ref_148","_ref_149"],"sec-decimal128.prototype.subtract":["_ref_150","_ref_151","_ref_152","_ref_153","_ref_154","_ref_155","_ref_156","_ref_157","_ref_158","_ref_159","_ref_160","_ref_161","_ref_162"],"sec-decimal128.prototype.multiply":["_ref_163","_ref_164","_ref_165","_ref_166","_ref_167","_ref_168","_ref_169","_ref_170","_ref_171","_ref_172","_ref_173","_ref_174","_ref_175","_ref_176","_ref_177","_ref_178","_ref_179","_ref_180","_ref_181","_ref_182","_ref_183","_ref_184","_ref_185","_ref_186","_ref_187","_ref_188","_ref_189","_ref_190","_ref_191","_ref_192","_ref_193"],"sec-decimal128.prototype.divide":["_ref_194","_ref_195","_ref_196","_ref_197","_ref_198","_ref_199","_ref_200","_ref_201","_ref_202","_ref_203","_ref_204","_ref_205","_ref_206","_ref_207","_ref_208","_ref_209","_ref_210","_ref_211","_ref_212","_ref_213","_ref_214","_ref_215","_ref_216","_ref_217","_ref_218","_ref_219","_ref_220","_ref_221","_ref_222","_ref_223","_ref_224","_ref_225","_ref_226","_ref_227","_ref_228"],"sec-decimal128.prototype.remainder":["_ref_229","_ref_230","_ref_231","_ref_232","_ref_233","_ref_234","_ref_235","_ref_236","_ref_237","_ref_238","_ref_239","_ref_240","_ref_241","_ref_242"],"sec-decimal128.prototype.compare":["_ref_243","_ref_244","_ref_245","_ref_246"],"sec-decimal128.prototype.equals":["_ref_247","_ref_248","_ref_249"],"sec-decimal128.prototype.notequals":["_ref_250","_ref_251","_ref_252"],"sec-decimal128.prototype.lessthan":["_ref_253","_ref_254","_ref_255"],"sec-decimal128.prototype.lessthanorequal":["_ref_256","_ref_257","_ref_258"],"sec-decimal128.prototype.greaterthan":["_ref_259","_ref_260","_ref_261"],"sec-decimal128.prototype.greaterthanorequal":["_ref_262","_ref_263"],"sec-decimal-method-scale10":["_ref_272","_ref_273","_ref_274","_ref_275","_ref_276","_ref_277","_ref_278","_ref_279","_ref_280","_ref_281","_ref_282","_ref_283","_ref_284","_ref_285","_ref_286"],"sec-decimal128.prototype.tostring":["_ref_287","_ref_288","_ref_289","_ref_290","_ref_291"],"sec-decimal128.prototype.toexponential":["_ref_292"],"sec-number-constructor-number-value":["_ref_300"],"sec-bigint-constructor-number-value":["_ref_301"],"sec-numbertobigint":["_ref_302"],"sec-tointlmathematicalvalue":["_ref_303","_ref_304","_ref_305","_ref_306","_ref_307"],"sec-formatnumberstring":["_ref_308","_ref_309","_ref_310","_ref_311","_ref_312","_ref_313","_ref_314","_ref_315","_ref_316","_ref_317"],"sec-torawprecision":["_ref_318","_ref_319","_ref_320","_ref_321","_ref_322","_ref_323","_ref_324","_ref_325","_ref_326","_ref_327"],"sec-torawfixed":["_ref_328","_ref_329","_ref_330","_ref_331","_ref_332","_ref_333","_ref_334","_ref_335","_ref_336","_ref_337"],"sec-partitionnumberpattern":["_ref_338","_ref_339","_ref_340","_ref_341","_ref_342","_ref_343","_ref_344","_ref_345","_ref_346"],"sec-resolveplural":["_ref_347","_ref_348"],"sec-resolvepluralrange":["_ref_349","_ref_350"]},"entries":[{"type":"clause","id":"sec-decimal-intro-","titleHTML":"Introduction","number":""},{"type":"term","term":"finite","id":"dfn-decimal128-finite","referencingIds":["_ref_12","_ref_13","_ref_16","_ref_23","_ref_29","_ref_34","_ref_37","_ref_40","_ref_42","_ref_45","_ref_54","_ref_57","_ref_101","_ref_305","_ref_309","_ref_319","_ref_329"]},{"type":"term","term":"zero","id":"dfn-decimal128-zero","referencingIds":["_ref_8","_ref_9","_ref_14","_ref_21","_ref_22","_ref_30","_ref_35","_ref_38","_ref_41","_ref_43","_ref_46","_ref_52","_ref_55","_ref_56","_ref_115","_ref_119","_ref_120","_ref_164","_ref_170"]},{"type":"term","term":"mathematical value","id":"decimal128-mathematical-value","referencingIds":["_ref_10","_ref_11","_ref_15","_ref_31","_ref_48","_ref_58","_ref_60","_ref_61","_ref_63","_ref_65","_ref_67","_ref_69","_ref_71","_ref_77","_ref_79","_ref_114","_ref_117","_ref_118","_ref_127","_ref_247","_ref_250","_ref_253","_ref_256","_ref_259","_ref_304","_ref_306","_ref_307","_ref_308","_ref_310","_ref_313","_ref_318","_ref_320","_ref_321","_ref_324","_ref_326","_ref_328","_ref_330","_ref_331","_ref_334","_ref_336","_ref_342"]},{"type":"op","aoid":"MV","id":"dfn-decimal128-mv","referencingIds":["_ref_17","_ref_18","_ref_19","_ref_104","_ref_105","_ref_106","_ref_108","_ref_109","_ref_111","_ref_112","_ref_243","_ref_244","_ref_245","_ref_246","_ref_248","_ref_249","_ref_251","_ref_252","_ref_254","_ref_255","_ref_257","_ref_258","_ref_260","_ref_261","_ref_262","_ref_263"]},{"type":"term","term":"Decimal128 rounding mode","id":"dfn-decimal128-rounding-mode","referencingIds":["_ref_5","_ref_20","_ref_59","_ref_66","_ref_78"]},{"type":"term","term":"default rounding mode","id":"dfn-decimal128-default-rounding-mode","referencingIds":["_ref_2","_ref_3"]},{"type":"table","id":"table-decimal128-rounding-modes","number":1,"caption":"Table 1: Rounding modes in Decimal128 compared to IEEE 754 rounding modes"},{"type":"op","aoid":"cohort","id":"eqn-decimal128-cohort","referencingIds":["_ref_72","_ref_73","_ref_75","_ref_83","_ref_85","_ref_89","_ref_94","_ref_102","_ref_116","_ref_123","_ref_140","_ref_141","_ref_155","_ref_156","_ref_176","_ref_177","_ref_203","_ref_211","_ref_232","_ref_233","_ref_265","_ref_273","_ref_287","_ref_293","_ref_297","_ref_302","_ref_312","_ref_322","_ref_332","_ref_339"]},{"type":"op","aoid":"quantum","id":"eqn-decimal128-quantum","referencingIds":["_ref_74","_ref_76","_ref_80","_ref_84","_ref_86","_ref_90","_ref_95","_ref_103","_ref_129","_ref_130","_ref_142","_ref_143","_ref_157","_ref_158","_ref_178","_ref_179","_ref_204","_ref_212","_ref_234","_ref_235","_ref_274","_ref_288","_ref_323","_ref_333","_ref_340"]},{"type":"op","aoid":"sign","id":"dfn-decimal128-sign","referencingIds":["_ref_24","_ref_25","_ref_26","_ref_27","_ref_28","_ref_87","_ref_96","_ref_133","_ref_166","_ref_167","_ref_172","_ref_173","_ref_180","_ref_181","_ref_186","_ref_187","_ref_196","_ref_200","_ref_205","_ref_208","_ref_268","_ref_294","_ref_298","_ref_344","_ref_345","_ref_346"]},{"type":"term","term":"exponent","id":"dfn-decimal128-exponent","referencingIds":["_ref_0","_ref_32","_ref_39","_ref_44","_ref_47","_ref_51","_ref_299"]},{"type":"term","term":"significand","id":"dfn-decimal128-significand","referencingIds":["_ref_1","_ref_33","_ref_36"]},{"type":"term","term":"normalized","id":"dfn-decimal128-normalized","referencingIds":["_ref_49","_ref_50"]},{"type":"term","term":"denormalized","id":"dfn-decimal128-denormalized-","referencingIds":["_ref_53"]},{"type":"term","term":"decimal cohort","id":"dfn-decimal-cohort","referencingIds":["_ref_68","_ref_70"]},{"type":"term","term":"truncated exponent","refId":"sec-decimal-intro"},{"type":"term","term":"scaled significand","refId":"sec-decimal-intro"},{"type":"clause","id":"sec-decimal-intro","titleHTML":"Introduction","number":"","referencingIds":["_ref_126","_ref_341"]},{"type":"op","aoid":"ApplyRoundingModeToPositive","refId":"sec-decimal128-applyroundingmodetopositive"},{"type":"clause","id":"sec-decimal128-applyroundingmodetopositive","title":"ApplyRoundingModeToPositive ( m, roundingMode )","titleHTML":"ApplyRoundingModeToPositive ( m, roundingMode )","number":"1.1.1.1","referencingIds":["_ref_64","_ref_269","_ref_295"]},{"type":"op","aoid":"RoundToDecimal128Domain","refId":"sec-decimal128-roundtodecimal128domain"},{"type":"clause","id":"sec-decimal128-roundtodecimal128domain","title":"RoundToDecimal128Domain ( v [ , roundingMode ] )","titleHTML":"RoundToDecimal128Domain ( v [ , roundingMode ] )","number":"1.1.1","referencingIds":["_ref_62","_ref_82"]},{"type":"op","aoid":"PickQuantum","refId":"sec-decimal128-pickquantum"},{"type":"clause","id":"sec-decimal128-pickquantum","title":"PickQuantum ( d, v, qPreferred )","titleHTML":"PickQuantum ( d, v, qPreferred )","number":"1.1.2","referencingIds":["_ref_81","_ref_145","_ref_147","_ref_160","_ref_183","_ref_185","_ref_189","_ref_191","_ref_220","_ref_222","_ref_224","_ref_226","_ref_238","_ref_240","_ref_242","_ref_267","_ref_279"]},{"type":"op","aoid":"RoundAndPickQuantum","refId":"sec-decimal128-roundandpickquantum"},{"type":"clause","id":"sec-decimal128-roundandpickquantum","title":"RoundAndPickQuantum ( v, preferredQuantum [ , roundingMode ] )","titleHTML":"RoundAndPickQuantum ( v, preferredQuantum [ , roundingMode ] )","number":"1.1.3","referencingIds":["_ref_107","_ref_110","_ref_113","_ref_149","_ref_162","_ref_193","_ref_228","_ref_271","_ref_286"]},{"type":"op","aoid":"Decimal128Abs","refId":"sec-decimal128-abs"},{"type":"clause","id":"sec-decimal128-abs","title":"Decimal128Abs ( argument )","titleHTML":"Decimal128Abs ( argument )","number":"1.1.4","referencingIds":["_ref_88","_ref_97","_ref_132"]},{"type":"op","aoid":"Decimal128Negate","refId":"sec-decimal128-negate"},{"type":"clause","id":"sec-decimal128-negate","title":"Decimal128Negate ( argument )","titleHTML":"Decimal128Negate ( argument )","number":"1.1.5","referencingIds":["_ref_135"]},{"type":"op","aoid":"CanonicalizeDecimalString","refId":"sec-decimal128-canonicalizedecimalstring"},{"type":"clause","id":"sec-decimal128-canonicalizedecimalstring","title":"CanonicalizeDecimalString ( digits )","titleHTML":"CanonicalizeDecimalString ( digits )","number":"1.1.6","referencingIds":["_ref_91","_ref_92","_ref_93","_ref_289"]},{"type":"op","aoid":"Decimal128ToDecimalString","refId":"sec-decimal128-decimal128todecimalstring"},{"type":"clause","id":"sec-decimal128-decimal128todecimalstring","title":"Decimal128ToDecimalString ( argument, preserveTrailingZeroes )","titleHTML":"Decimal128ToDecimalString ( argument, preserveTrailingZeroes )","number":"1.1.7","referencingIds":["_ref_291","_ref_296"]},{"type":"op","aoid":"Decimal128ToExponentialString","refId":"sec-decimal128toexponentialstring"},{"type":"clause","id":"sec-decimal128toexponentialstring","title":"Decimal128ToExponentialString ( argument, preserveTrailingZeroes )","titleHTML":"Decimal128ToExponentialString ( argument, preserveTrailingZeroes )","number":"1.1.8","referencingIds":["_ref_290","_ref_292","_ref_300"]},{"type":"op","aoid":"Decimal128ValueToObject","refId":"sec-decimal128-value-to-object"},{"type":"clause","id":"sec-decimal128-value-to-object","title":"Decimal128ValueToObject ( argument )","titleHTML":"Decimal128ValueToObject ( argument )","number":"1.1.9","referencingIds":["_ref_121","_ref_122","_ref_124","_ref_125","_ref_128","_ref_131","_ref_134","_ref_136","_ref_137","_ref_138","_ref_139","_ref_144","_ref_146","_ref_148","_ref_150","_ref_151","_ref_152","_ref_153","_ref_154","_ref_159","_ref_161","_ref_163","_ref_165","_ref_168","_ref_169","_ref_171","_ref_174","_ref_175","_ref_182","_ref_184","_ref_188","_ref_190","_ref_192","_ref_194","_ref_195","_ref_197","_ref_198","_ref_199","_ref_201","_ref_202","_ref_206","_ref_207","_ref_209","_ref_210","_ref_213","_ref_214","_ref_215","_ref_216","_ref_217","_ref_218","_ref_219","_ref_221","_ref_223","_ref_225","_ref_227","_ref_229","_ref_230","_ref_231","_ref_236","_ref_237","_ref_239","_ref_241","_ref_264","_ref_266","_ref_270","_ref_272","_ref_275","_ref_276","_ref_277","_ref_278","_ref_280","_ref_281","_ref_282","_ref_283","_ref_284","_ref_285"]},{"type":"clause","id":"sec-decimal-abstract-ops","titleHTML":"Abstract Operations","number":"1.1"},{"type":"term","term":"%Decimal128%","refId":"sec-the-decimal-constructor"},{"type":"op","aoid":"StringDecimalValue","refId":"sec-runtime-semantics-stringdecimalvalue"},{"type":"clause","id":"sec-runtime-semantics-stringdecimalvalue","titleHTML":"Runtime Semantics: StringDecimalValue","number":"1.2.1.1","referencingIds":["_ref_99","_ref_100"]},{"type":"clause","id":"sec-the-decimal128-constructor-value","title":"Decimal128 ( x )","titleHTML":"Decimal128 ( x )","number":"1.2.1"},{"type":"clause","id":"sec-the-decimal-constructor","titleHTML":"The Decimal128 Constructor","number":"1.2","referencingIds":["_ref_98"]},{"type":"clause","id":"sec-the-decimal-object","titleHTML":"The Decimal128 Object","number":"1"},{"type":"clause","id":"sec-decimal128.prototype.isnan","titleHTML":"Decimal128.prototype.isNaN ( )","number":"2.1"},{"type":"clause","id":"sec-decimal128.prototype.isfinite","titleHTML":"Decimal128.prototype.isFinite ( )","number":"2.2"},{"type":"clause","id":"sec-decimal128.prototype.exponent","titleHTML":"Decimal128.prototype.exponent ( )","number":"2.3"},{"type":"clause","id":"sec-decimal128.prototype.mantissa","titleHTML":"Decimal128.prototype.mantissa ( )","number":"2.4"},{"type":"clause","id":"sec-decimal128.prototype.precision","titleHTML":"Decimal128.prototype.precision","number":"2.5"},{"type":"clause","id":"sec-decimal128.prototype.abs","titleHTML":"Decimal128.prototype.abs ( )","number":"2.6"},{"type":"clause","id":"sec-decimal128.prototype.negate","titleHTML":"Decimal128.prototype.negate ( )","number":"2.7"},{"type":"clause","id":"sec-decimal128.prototype.add","title":"Decimal128.prototype.add ( x )","titleHTML":"Decimal128.prototype.add ( x )","number":"2.8"},{"type":"clause","id":"sec-decimal128.prototype.subtract","title":"Decimal128.prototype.subtract ( x )","titleHTML":"Decimal128.prototype.subtract ( x )","number":"2.9"},{"type":"clause","id":"sec-decimal128.prototype.multiply","title":"Decimal128.prototype.multiply ( x )","titleHTML":"Decimal128.prototype.multiply ( x )","number":"2.10"},{"type":"clause","id":"sec-decimal128.prototype.divide","title":"Decimal128.prototype.divide ( x )","titleHTML":"Decimal128.prototype.divide ( x )","number":"2.11"},{"type":"clause","id":"sec-decimal128.prototype.remainder","title":"Decimal128.prototype.remainder ( x )","titleHTML":"Decimal128.prototype.remainder ( x )","number":"2.12"},{"type":"clause","id":"sec-decimal128.prototype.compare","title":"Decimal128.prototype.compare ( x )","titleHTML":"Decimal128.prototype.compare ( x )","number":"2.13"},{"type":"clause","id":"sec-decimal128.prototype.equals","title":"Decimal128.prototype.equals ( x )","titleHTML":"Decimal128.prototype.equals ( x )","number":"2.14"},{"type":"clause","id":"sec-decimal128.prototype.notequals","title":"Decimal128.prototype.notEquals ( x )","titleHTML":"Decimal128.prototype.notEquals ( x )","number":"2.15"},{"type":"clause","id":"sec-decimal128.prototype.lessthan","title":"Decimal128.prototype.lessThan ( x )","titleHTML":"Decimal128.prototype.lessThan ( x )","number":"2.16"},{"type":"clause","id":"sec-decimal128.prototype.lessthanorequal","title":"Decimal128.prototype.lessThanOrEqual ( x )","titleHTML":"Decimal128.prototype.lessThanOrEqual ( x )","number":"2.17"},{"type":"clause","id":"sec-decimal128.prototype.greaterthan","title":"Decimal128.prototype.greaterThan ( x )","titleHTML":"Decimal128.prototype.greaterThan ( x )","number":"2.18"},{"type":"clause","id":"sec-decimal128.prototype.greaterthanorequal","title":"Decimal128.prototype.greaterThanOrEqual ( x )","titleHTML":"Decimal128.prototype.greaterThanOrEqual ( x )","number":"2.19"},{"type":"clause","id":"sec-decimal-method-round","title":"Decimal128.prototype.round ( numFractionalDigits [ , roundingMode ] )","titleHTML":"Decimal128.prototype.round ( numFractionalDigits [ , roundingMode ] )","number":"2.20"},{"type":"clause","id":"sec-decimal-method-scale10","title":"Decimal128.prototype.scale10 ( n )","titleHTML":"Decimal128.prototype.scale10 ( n )","number":"2.21"},{"type":"clause","id":"sec-decimal128.prototype.tostring","title":"Decimal128.prototype.toString ( [ options ] )","titleHTML":"Decimal128.prototype.toString ( [ options ] )","number":"2.22","referencingIds":["_ref_4","_ref_6"]},{"type":"clause","id":"sec-decimal128.prototype.tolocalestring","title":"Decimal128.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] )","titleHTML":"Decimal128.prototype.toLocaleString ( [ reserved1 [ , reserved2 ] ] )","number":"2.23","referencingIds":["_ref_7"]},{"type":"clause","id":"sec-decimal128.prototype.toexponential","title":"Decimal128.prototype.toExponential ( [ options ] )","titleHTML":"Decimal128.prototype.toExponential ( [ options ] )","number":"2.24"},{"type":"clause","id":"sec-decimal128.prototype.tofixed","title":"Decimal128.prototype.toFixed ( [ options ] )","titleHTML":"Decimal128.prototype.toFixed ( [ options ] )","number":"2.25"},{"type":"clause","id":"sec-decimal128.prototype.tojson","titleHTML":"Decimal128.prototype.toJSON ( )","number":"2.26"},{"type":"clause","id":"sec-decimal128.prototype.toprecision","title":"Decimal128.prototype.toPrecision ( [ options ] )","titleHTML":"Decimal128.prototype.toPrecision ( [ options ] )","number":"2.27"},{"type":"clause","id":"sec-decimal128.prototype.valueof","title":"Decimal128.prototype.valueOf ( x )","titleHTML":"Decimal128.prototype.valueOf ( x )","number":"2.28"},{"type":"clause","id":"sec-decimal-prototype-properties","titleHTML":"Properties of the Decimal128 Prototype","number":"2"},{"type":"clause","id":"sec-number-constructor-number-value","title":"Number ( value )","titleHTML":"Number ( value )","number":"3.1.1.1"},{"type":"clause","id":"sec-number-constructor","titleHTML":"The Number Constructor","number":"3.1.1"},{"type":"clause","id":"sec-number-objects","titleHTML":"Number Objects","number":"3.1"},{"type":"op","aoid":"Decimal128ToBigInt","refId":"sec-numbertobigint"},{"type":"clause","id":"sec-numbertobigint","title":"Decimal128ToBigInt ( number )","titleHTML":"Decimal128ToBigInt ( number )","number":"3.2.1.1.1","referencingIds":["_ref_301"]},{"type":"clause","id":"sec-bigint-constructor-number-value","title":"BigInt ( value )","titleHTML":"BigInt ( value )","number":"3.2.1.1"},{"type":"clause","id":"sec-bigint-constructor","titleHTML":"The BigInt Constructor","number":"3.2.1"},{"type":"clause","id":"sec-bigint-objects","titleHTML":"BigInt Objects","number":"3.2"},{"type":"clause","id":"sec-numbers-and-dates","titleHTML":"Numbers and Dates","number":"3"},{"type":"clause","id":"sup-decimal128.prototype.tolocalestring","title":"Decimal128.prototype.toLocaleString ( [ locales [ , options ] ] )","titleHTML":"Decimal128.prototype.toLocaleString ( [ locales [ , options ] ] )","number":"4.1.1"},{"type":"clause","id":"sup-properties-of-the-decimal128-prototype-object","titleHTML":"Properties of the Decimal128 Prototype Object","number":"4.1"},{"type":"term","term":"Intl mathematical value","id":"intl-mathematical-value","referencingIds":["_ref_303","_ref_311","_ref_338"]},{"type":"op","aoid":"ToIntlMathematicalValue","refId":"sec-tointlmathematicalvalue"},{"type":"clause","id":"sec-tointlmathematicalvalue","title":"ToIntlMathematicalValue ( value )","titleHTML":"ToIntlMathematicalValue ( value )","number":"4.2.1.1"},{"type":"op","aoid":"FormatNumericToString","refId":"sec-formatnumberstring"},{"type":"clause","id":"sec-formatnumberstring","title":"FormatNumericToString ( intlObject, x )","titleHTML":"FormatNumericToString ( intlObject, x )","number":"4.2.1.2","referencingIds":["_ref_343","_ref_347","_ref_348"]},{"type":"op","aoid":"ToRawPrecisionFn","id":"eqn-ToRawPrecisionFn","referencingIds":["_ref_325","_ref_327"]},{"type":"op","aoid":"ToRawPrecision","refId":"sec-torawprecision"},{"type":"clause","id":"sec-torawprecision","title":"ToRawPrecision ( x, minPrecision, maxPrecision, unsignedRoundingMode )","titleHTML":"ToRawPrecision ( x, minPrecision, maxPrecision, unsignedRoundingMode )","number":"4.2.1.3","referencingIds":["_ref_314","_ref_316"]},{"type":"op","aoid":"ToRawFixedFn","id":"eqn-ToRawFixedFn","referencingIds":["_ref_335","_ref_337"]},{"type":"op","aoid":"ToRawFixed","refId":"sec-torawfixed"},{"type":"clause","id":"sec-torawfixed","title":"ToRawFixed ( x, minFraction, maxFraction, roundingIncrement, unsignedRoundingMode )","titleHTML":"ToRawFixed ( x, minFraction, maxFraction, roundingIncrement, unsignedRoundingMode )","number":"4.2.1.4","referencingIds":["_ref_315","_ref_317"]},{"type":"op","aoid":"PartitionNumberPattern","refId":"sec-partitionnumberpattern"},{"type":"clause","id":"sec-partitionnumberpattern","title":"PartitionNumberPattern ( numberFormat, x )","titleHTML":"PartitionNumberPattern ( numberFormat, x )","number":"4.2.1.5"},{"type":"clause","id":"sec-numberformat-abstracts","titleHTML":"Abstract Operations for NumberFormat Objects","number":"4.2.1"},{"type":"clause","id":"numberformat-objects","titleHTML":"NumberFormat Objects","number":"4.2"},{"type":"op","aoid":"ResolvePlural","refId":"sec-resolveplural"},{"type":"clause","id":"sec-resolveplural","title":"ResolvePlural ( pluralRules, n )","titleHTML":"ResolvePlural ( pluralRules, n )","number":"4.3.1.1","referencingIds":["_ref_349","_ref_350"]},{"type":"op","aoid":"ResolvePluralRange","refId":"sec-resolvepluralrange"},{"type":"clause","id":"sec-resolvepluralrange","title":"ResolvePluralRange ( pluralRules, x, y )","titleHTML":"ResolvePluralRange ( pluralRules, x, y )","number":"4.3.1.2"},{"type":"clause","id":"sec-intl-pluralrules-abstracts","titleHTML":"Abstract Operations for PluralRules Objects","number":"4.3.1"},{"type":"clause","id":"pluralrules-objects","titleHTML":"PluralRules Objects","number":"4.3"},{"type":"clause","id":"sec-decimal-intl","titleHTML":"Amendments to the ECMAScript® 2024 Internationalization API Specification","number":"4"},{"type":"clause","id":"sec-copyright-and-software-license","title":"Copyright & Software License","titleHTML":"Copyright & Software License","number":"A"}]}`); ;let usesMultipage = false