Phương pháp toFixed() định dạng một số sử dụng ký hiệu điểm cố định.toFixed() method formats a number using fixed-point notation. toFixed()
toFixed(digits)
digits Tùy chọnOptional
Số chữ số xuất hiện sau điểm thập phân; Nên là một giá trị giữa 0 và 100, bao gồm. Nếu lập luận này bị bỏ qua, nó được coi là 0. Một chuỗi đại diện cho số đã cho bằng cách sử dụng ký hiệu điểm cố định.Thử nó
Cú pháp
Thông số
Giá trị trả về
Ngoại lệ
(1000000000000000128).toString(); // '1000000000000000100' (1000000000000000128).toFixed(0); // '1000000000000000128' 0
Nếu digits nhỏ hơn 0, lớn hơn 100 hoặc là (1000000000000000128).toString(); // '1000000000000000100' (1000000000000000128).toFixed(0); // '1000000000000000128' 4.
(1000000000000000128).toString(); // '1000000000000000100' (1000000000000000128).toFixed(0); // '1000000000000000128' 5Nếu phương thức này được gọi trên một đối tượng không phải là (1000000000000000128).toString(); // '1000000000000000100' (1000000000000000128).toFixed(0); // '1000000000000000128' 6.
Sự mô tả
Phương pháp toFixed() trả về một biểu diễn chuỗi của (1000000000000000128).toString(); // '1000000000000000100' (1000000000000000128).toFixed(0); // '1000000000000000128' 8 không sử dụng ký hiệu theo cấp số nhân và có chính xác digits chữ số sau vị trí thập phân. Số được làm tròn nếu cần thiết, và phần phân số được đệm bằng số không nếu cần thiết để nó có độ dài được chỉ định.
Nếu giá trị tuyệt đối của (1000000000000000128).toString(); // '1000000000000000100' (1000000000000000128).toFixed(0); // '1000000000000000128' 8 lớn hơn hoặc bằng 1021, phương pháp này sử dụng cùng một thuật toán như 0.3.toFixed(50); // '0.29999999999999998889776975374843459576368331909180' 1 và trả về một chuỗi theo ký hiệu theo cấp số nhân. toFixed() Trả về 0.3.toFixed(50); // '0.29999999999999998889776975374843459576368331909180' 3, 0.3.toFixed(50); // '0.29999999999999998889776975374843459576368331909180' 4 hoặc 0.3.toFixed(50); // '0.29999999999999998889776975374843459576368331909180' 5 nếu giá trị của (1000000000000000128).toString(); // '1000000000000000100' (1000000000000000128).toFixed(0); // '1000000000000000128' 8 không phải là không thời gian.
Đầu ra của toFixed() có thể chính xác hơn 0.3.toFixed(50); // '0.29999999999999998889776975374843459576368331909180' 8 đối với một số giá trị, vì 0.3.toFixed(50); // '0.29999999999999998889776975374843459576368331909180' 8 chỉ in đủ các chữ số quan trọng để phân biệt số với các giá trị số liền kề. Ví dụ:
(1000000000000000128).toString(); // '1000000000000000100' (1000000000000000128).toFixed(0); // '1000000000000000128'
Tuy nhiên, việc chọn độ chính xác của digits quá cao có thể trả về kết quả bất ngờ, bởi vì các số phân số thập phân không thể được thể hiện chính xác ở điểm nổi. Ví dụ:
0.3.toFixed(50); // '0.29999999999999998889776975374843459576368331909180'
Ví dụ
Sử dụng tofixed ()
const numObj = 12345.6789; numObj.toFixed(); // '12346'; rounding, no fractional part numObj.toFixed(1); // '12345.7'; it rounds up numObj.toFixed(6); // '12345.678900'; additional zeros (1.23e+20).toFixed(2); // '123000000000000000000.00' (1.23e-10).toFixed(2); // '0.00' 2.34.toFixed(1); // '2.3' 2.35.toFixed(1); // '2.4'; it rounds up 2.55.toFixed(1); // '2.5' // it rounds down as it can't be represented exactly by a float and the // closest representable float is lower 2.449999999999999999.toFixed(1); // '2.5' // it rounds up as it's less than NUMBER.EPSILON away from 2.45. // This literal actually encodes the same number value as 2.45 (6.02 * 10 ** 23).toFixed(50); // 6.019999999999999e+23; large numbers still use exponential notation
Sử dụng tofixed () với số âm
Bởi vì quyền truy cập thành viên có mức độ ưu tiên cao hơn so với trừ đi, bạn cần nhóm biểu thức số âm để có được một chuỗi.
-2.34.toFixed(1); // -2.3, a number (-2.34).toFixed(1); // '-2.3'
Thông số kỹ thuật
Đặc tả ngôn ngữ Ecmascript # sec-number.prototype.tofixed # sec-number.prototype.tofixed |
Tính tương thích của trình duyệt web
Bảng BCD chỉ tải trong trình duyệt