Hàm Giá trị để phân tích, ép buộc vào một chuỗi. Khoảng trắng hàng đầu trong đối số này bị bỏ qua. Một số điểm nổi được phân tích cú pháp từ Lưu ý: JavaScript không có sự khác biệt của "số điểm nổi" và "số nguyên" ở cấp độ ngôn ngữ. parseFloat[]
phân tích đối số chuỗi và trả về số điểm nổi.parseFloat[]
function parses a string argument and returns a floating point number.Thử nó
Cú pháp
Thông số
string
Giá trị trả về
string
đã cho hoặc NaN
khi ký tự không phải màu trắng đầu tiên không thể được chuyển đổi thành một số.
0 và parseFloat["NaN"]; // NaN
parseFloat[]
chỉ khác nhau trong hành vi phân tích cú pháp của chúng, nhưng không nhất thiết là giá trị trả lại của chúng. Ví dụ:
2 và parseFloat["NaN"]; // NaN
3 sẽ trả về cùng một giá trị: A parseFloat["NaN"]; // NaN
4 42. JavaScript does not have
the distinction of "floating point numbers" and "integers" on the language level. parseFloat["NaN"]; // NaN
0 and parseFloat["NaN"]; // NaN
parseFloat[]
only differ in their parsing behavior, but not necessarily their return values. For example,
2 and parseFloat["NaN"]; // NaN
3 would return the same value: a parseFloat["NaN"]; // NaN
4
42.parseFloat["NaN"]; // NaN
Sự mô tả
Hàm
parseFloat["NaN"]; // NaN
5 chuyển đổi đối số đầu tiên của nó thành một chuỗi, phân tích chuỗi đó dưới dạng số thập phân theo nghĩa đen, sau đó trả về một số hoặc NaN
. Cú pháp số mà nó chấp nhận có thể được tóm tắt là:- Các ký tự được chấp nhận bởi
parseFloat[]
là dấu cộng [
8], dấu trừ [parseFloat["NaN"]; // NaN
9 U+002D Hyphen-minus], chữ số thập phân [____ 20 .parseFloat["NaN"]; // NaN
- Các dấu hiệu ____ 18/________ 19 chỉ có thể xuất hiện nghiêm ngặt ở đầu chuỗi, hoặc ngay sau ký tự ____ 23/________ 24. Điểm thập phân chỉ có thể xuất hiện một lần và chỉ trước ký tự ____ 23/________ 24. Nhân vật ____ 23/________ 24 chỉ có thể xuất hiện một lần và chỉ khi có ít nhất một chữ số trước nó.
- Không gian hàng đầu trong đối số được cắt tỉa và bỏ qua.
parseFloat[]
cũng có thể phân tích và trả về
5 hoặcparseFloat["Infinity"]; // Infinity parseFloat["-Infinity"]; // -Infinity
6 nếu chuỗi bắt đầu bằngparseFloat["Infinity"]; // Infinity parseFloat["-Infinity"]; // -Infinity
5 hoặcparseFloat["1.7976931348623159e+308"]; // Infinity parseFloat["-1.7976931348623159e+308"]; // -Infinity
8 trước không có hoặc nhiều không gian trắng.parseFloat["Infinity"]; // Infinity parseFloat["-Infinity"]; // -Infinity
parseFloat[]
chọn chuỗi con dài nhất bắt đầu từ đầu tạo ra một số hợp lệ theo nghĩa đen. Nếu nó gặp một ký tự không hợp lệ, nó sẽ trả về số được biểu thị cho đến điểm đó, bỏ qua ký tự không hợp lệ và tất cả các ký tự theo nó.- Nếu ký tự đầu tiên của đối số không thể bắt đầu một số hợp pháp theo nghĩa đen theo cú pháp ở trên,
5 trả vềparseFloat["NaN"]; // NaN
NaN
.
Cú pháp khôn ngoan, parseFloat[]
phân tích một tập hợp con của cú pháp mà hàm
parseFloat[900719925474099267n]; // 900719925474099300
parseFloat["900719925474099267n"]; // 900719925474099300
3 chấp nhận. Cụ thể, parseFloat[]
không hỗ trợ các văn bản không bình thường với tiền tố parseFloat[900719925474099267n]; // 900719925474099300
parseFloat["900719925474099267n"]; // 900719925474099300
5, parseFloat[900719925474099267n]; // 900719925474099300
parseFloat["900719925474099267n"]; // 900719925474099300
6 hoặc parseFloat[900719925474099267n]; // 900719925474099300
parseFloat["900719925474099267n"]; // 900719925474099300
7 nhưng hỗ trợ mọi thứ khác. Tuy nhiên, parseFloat[]
có khả năng khoan dung hơn parseFloat[900719925474099267n]; // 900719925474099300
parseFloat["900719925474099267n"]; // 900719925474099300
3 vì nó bỏ qua các ký tự không hợp lệ, điều này sẽ khiến parseFloat[900719925474099267n]; // 900719925474099300
parseFloat["900719925474099267n"]; // 900719925474099300
3 trả lại NaN
.Tương tự như chữ số và
parseFloat[900719925474099267n]; // 900719925474099300
parseFloat["900719925474099267n"]; // 900719925474099300
3, số được trả về từ parseFloat[]
có thể không chính xác bằng số được biểu thị bằng chuỗi, do phạm vi điểm nổi và độ không chính xác. Đối với các số bên ngoài phạm vi ____ 54 54 ____________ 55 [xem BigInt["900719925474099267"];
// 900719925474099267n
6], parseFloat["Infinity"]; // Infinity
parseFloat["-Infinity"]; // -Infinity
6 hoặc parseFloat["Infinity"]; // Infinity
parseFloat["-Infinity"]; // -Infinity
5 được trả về.Ví dụ
Sử dụng parsefloat []
Các ví dụ sau đây đều trả về
BigInt["900719925474099267"];
// 900719925474099267n
9:parseFloat[3.14];
parseFloat["3.14"];
parseFloat[" 3.14 "];
parseFloat["314e-2"];
parseFloat["0.0314E+2"];
parseFloat["3.14some non-digit characters"];
parseFloat[{
toString[] {
return "3.14";
},
}];
parsefloat [] trở lại nan
Ví dụ sau trả về NaN
:
Tiêu đề, vì chuỗi NaN
không hợp lệ là được chấp nhận bởi parseFloat[]
, vượt qua parseFloat[]
3 cũng trả về NaN
.
parseFloat["NaN"]; // NaN
Trả lại vô cùng
Các giá trị vô cực được trả về khi số nằm ngoài phạm vi định dạng 64 bit IEEE 754-2019 độ chính xác kép: Phạm vi định dạng IEEE 754-2019:
parseFloat["1.7976931348623159e+308"]; // Infinity
parseFloat["-1.7976931348623159e+308"]; // -Infinity
Infinity cũng được trả về khi chuỗi bắt đầu bằng
parseFloat["1.7976931348623159e+308"]; // Infinity
parseFloat["-1.7976931348623159e+308"]; // -Infinity
5 hoặc parseFloat["Infinity"]; // Infinity
parseFloat["-Infinity"]; // -Infinity
8:parseFloat["Infinity"]; // Infinity
parseFloat["-Infinity"]; // -Infinity
Tương tác với các giá trị lớn
parseFloat[]
không xử lý các giá trị parseFloat[]
8. Nó dừng ở ký tự parseFloat[]
9 và coi chuỗi trước là một số nguyên bình thường, với khả năng mất độ chính xác. Nếu một giá trị lớn được chuyển sang parseFloat[]
, nó sẽ được chuyển đổi thành một chuỗi và chuỗi sẽ được phân tích cú pháp như một số điểm nổi, điều này cũng có thể dẫn đến mất độ chính xác.
parseFloat[900719925474099267n]; // 900719925474099300
parseFloat["900719925474099267n"]; // 900719925474099300
Thay vào đó, bạn nên chuyển chuỗi vào hàm string
1, mà không cần ký tự parseFloat[]
9.
BigInt["900719925474099267"];
// 900719925474099267n
Thông số kỹ thuật
Đặc tả ngôn ngữ Ecmascript # sec-parseFloat-sling # sec-parsefloat-string |
Tính tương thích của trình duyệt web
Bảng BCD chỉ tải trong trình duyệt