gpt4 book ai didi

javascript - 为什么 toFixed() 只需要 0 - 20 位数字

转载 作者:太空宇宙 更新时间:2023-11-04 15:33:40 24 4
gpt4 key购买 nike

在 JavaScript 文档中

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed

toFixed() 只需要 0 - 20 所以

123.1234567294239482379483749.toFixed(20)

"123.12345672942394969596"

并导致范围错误

123.1234567294239482379483749.toFixed(21)
RangeError: toFixed() digits argument must be between 0 and 20

谢谢

最佳答案

来自 ECMA 文档 here , toFixed 指定为

注意第 2 点,这就是范围的原因

15.7.4.5 Number.prototype.toFixed (fractionDigits)
Return a string containing the number represented in fixed-point notation with fractionDigits digits
after the decimal point. If fractionDigits is undefined, 0 is assumed. Specifically, perform the
following steps:
1. Let f be ToInteger(fractionDigits). (If fractionDigits is undefined, this step produces the value
0).
2. If f < 0 or f > 20, throw a RangeError exception.
3. Let x be this number value.
4. If x is NaN, return the string "NaN".
5. Let s be the empty string.
6. If x ≥ 0, go to step 9.
7. Let s be "-".
8. Let x = –x.
9. If x ≥ 1021, let m = ToString(x) and go to step 20.
10. Let n be an integer for which the exact mathematical value of n ÷ 10f – x is as close to zero as
possible. If there are two such n, pick the larger n.
11. If n = 0, let m be the string "0". Otherwise, let m be the string consisting of the digits of the
decimal representation of n (in order, with no leading zeroes).
12. If f = 0, go to step 20.
13. Let k be the number of characters in m.
14. If k > f, go to step 18.
15. Let z be the string consisting of f+1–k occurrences of the character ‘0’.
16. Let m be the concatenation of strings z and m.
17. Let k = f + 1.
18. Let a be the first k–f characters of m, and let b be the remaining f characters of m.
19. Let m be the concatenation of the three strings a, ".", and b.
20. Return the concatenation of the strings s and m.

关于javascript - 为什么 toFixed() 只需要 0 - 20 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44587818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com