Hướng dẫn javascript parsefloat minus - javascript nhấn float trừ

Hàm 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ị để 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.

Giá trị trả về

Một số điểm nổi được phân tích cú pháp từ 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ố.

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("NaN"); // NaN
0 và 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ụ:
parseFloat("NaN"); // NaN
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() only differ in their parsing behavior, but not necessarily their return values. For example,
parseFloat("NaN"); // NaN
2 and
parseFloat("NaN"); // NaN
3 would return the same value: a
parseFloat("NaN"); // NaN
4 42.

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 (
    parseFloat("NaN"); // NaN
    
    8), dấu trừ (
    parseFloat("NaN"); // NaN
    
    9 U+002D Hyphen-minus), chữ số thập phân (____ 20 .
  • 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ề
    parseFloat("Infinity"); // Infinity
    parseFloat("-Infinity"); // -Infinity
    
    5 hoặc
    parseFloat("Infinity"); // Infinity
    parseFloat("-Infinity"); // -Infinity
    
    6 nếu 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 trước không có hoặc nhiều không gian trắng.
  • 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,
    parseFloat("NaN"); // NaN
    
    5 trả về 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 string1, mà không cần ký tự parseFloat()9.

BigInt("900719925474099267");
// 900719925474099267n

Thông số kỹ thuật

Sự chỉ rõ
Đặ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

Xem thêm