Hướng dẫn how do i cast a float in javascript? - làm cách nào để truyền một float trong javascript?

Ví dụ

Phân tích các giá trị khác nhau:

Parsefloat (10); parsefloat ("10"); parsefloat ("10.33"); parsefloat ("34 45 66"); Parsefloat ("Anh ấy 40");
parseFloat("10");
parseFloat("10.33");
parseFloat("34 45 66");
parseFloat("He was 40");

Hãy tự mình thử »

Thêm ví dụ dưới đây.


Định nghĩa và cách sử dụng

Phương thức

var value = parseFloat("554.20")
0 phân tích giá trị dưới dạng chuỗi và trả về số đầu tiên.

Ghi chú

Nếu ký tự đầu tiên không thể được chuyển đổi,

var value = parseFloat("554.20")
1 sẽ được trả về.

Không gian dẫn đầu và dấu vết bị bỏ qua.

Chỉ số đầu tiên được tìm thấy được trả về.


Cú pháp

Thông số

Tham sốSự mô tả
giá trịYêu cầu. Giá trị để phân tích.
The value to parse.

Giá trị trả về

Loại hìnhSự mô tả
giá trịYêu cầu. Giá trị để phân tích.


Giá trị trả về

Loại hình

Một số

Nan nếu không tìm thấy số lượng.Hỗ trợ trình duyệt
var value = parseFloat("554.20")
0 là tính năng ECMAScript1 (ES1).
ES1 (JavaScript 1997) được hỗ trợ đầy đủ trong tất cả các trình duyệt:Trình duyệt ChromeI E
Bờ rìaBờ rìaBờ rìaBờ rìaBờ rìaBờ rìa

Firefox

Phân tích các giá trị khác nhau:

Cuộc đi săn
parseFloat(" 40 ");
parseFloat("40 years");
parseFloat("40H")
parseFloat("H40");

Hãy tự mình thử »



Thay thế dấu phẩy bằng một dấu chấm.

Điều này sẽ chỉ trả về 554:

var value = parseFloat("554,20")

Điều này sẽ trả về 554,20:

var value = parseFloat("554.20")

Vì vậy, cuối cùng, bạn có thể chỉ cần sử dụng:

var fValue = parseFloat(document.getElementById("textfield").value.replace(",","."))

Đừng quên rằng

var value = parseFloat("554.20")
3 chỉ nên được sử dụng để phân tích các số nguyên (không có điểm nổi). Trong trường hợp của bạn, nó sẽ chỉ trả về 554. Ngoài ra, gọi parseInt () trên một chiếc phao sẽ không làm tròn số: nó sẽ lấy sàn của nó (số nguyên thấp nhất gần nhất).


Ví dụ mở rộng để trả lời câu hỏi của Pedro Ferreira từ các bình luận:

Nếu TextField chứa hàng ngàn chấm tách như trong

var value = parseFloat("554.20")
4, chúng có thể được loại bỏ trước với một
var value = parseFloat("554.20")
5 khác:

var fValue = parseFloat(document.getElementById("textfield").value.replace(/\./g,"").replace(",","."))

Hàm

var value = parseFloat("554.20")
0 phân tích đối số chuỗi và trả về số điểm nổi.
var value = parseFloat("554.20")
0
function parses a string argument and returns a floating point number.

Thử nó

Cú pháp

Thông số

var value = parseFloat("554.20")
7

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ừ

var value = parseFloat("554.20")
7 hoặc
var value = parseFloat("554.20")
1 đã cho 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ữ.

var value = parseFloat("554.20")
3 và
var value = parseFloat("554.20")
0 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ụ:
var fValue = parseFloat(document.getElementById("textfield").value.replace(",","."))
2 và
var fValue = parseFloat(document.getElementById("textfield").value.replace(",","."))
3 sẽ trả về cùng một giá trị: A
var fValue = parseFloat(document.getElementById("textfield").value.replace(",","."))
4 42.
JavaScript does not have the distinction of "floating point numbers" and "integers" on the language level.
var value = parseFloat("554.20")
3 and
var value = parseFloat("554.20")
0 only differ in their parsing behavior, but not necessarily their return values. For example,
var fValue = parseFloat(document.getElementById("textfield").value.replace(",","."))
2 and
var fValue = parseFloat(document.getElementById("textfield").value.replace(",","."))
3 would return the same value: a
var fValue = parseFloat(document.getElementById("textfield").value.replace(",","."))
4 42.

Sự mô tả

Hàm

var fValue = parseFloat(document.getElementById("textfield").value.replace(",","."))
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
var value = parseFloat("554.20")
1. 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
    var value = parseFloat("554.20")
    
    0 là dấu cộng cộng (
    var fValue = parseFloat(document.getElementById("textfield").value.replace(",","."))
    
    8), dấu trừ (
    var fValue = parseFloat(document.getElementById("textfield").value.replace(",","."))
    
    9 U+002D Hyphen-minus), chữ số thập phân (
    var fValue = parseFloat(document.getElementById("textfield").value.replace(/\./g,"").replace(",","."))
    
    0-
    var fValue = parseFloat(document.getElementById("textfield").value.replace(/\./g,"").replace(",","."))
    
    1), dấu thập phân (
    var fValue = parseFloat(document.getElementById("textfield").value.replace(/\./g,"").replace(",","."))
    
    2) .
  • Các dấu hiệu ____ 28/________ 29 chỉ có thể xuất hiện nghiêm ngặt ở đầu chuỗi hoặc ngay theo ký tự ________ 33/________ 34. Điểm thập phân chỉ có thể xuất hiện một lần và chỉ trước ký tự ____ 33/________ 34. Nhân vật ____ 33/________ 34 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.
  • var value = parseFloat("554.20")
    
    0 cũng có thể phân tích và trả về
    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";
      },
    });
    
    5 hoặc
    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";
      },
    });
    
    6 nếu chuỗi bắt đầu bằng
    var fValue = parseFloat(document.getElementById("textfield").value.replace(/\./g,"").replace(",","."))
    
    5 hoặc
    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";
      },
    });
    
    8 trước không có hoặc nhiều không gian trắng.
  • var value = parseFloat("554.20")
    
    0 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,
    var fValue = parseFloat(document.getElementById("textfield").value.replace(",","."))
    
    5 trả về
    var value = parseFloat("554.20")
    
    1.

Cú pháp khôn ngoan,

var value = parseFloat("554.20")
0 phân tích một tập hợp con của cú pháp mà hàm
parseFloat("NaN"); // NaN
3 chấp nhận. Cụ thể,
var value = parseFloat("554.20")
0 không hỗ trợ các văn bản không bình thường với tiền tố
parseFloat("NaN"); // NaN
5,
parseFloat("NaN"); // NaN
6 hoặc
parseFloat("NaN"); // NaN
7 nhưng hỗ trợ mọi thứ khác. Tuy nhiên,
var value = parseFloat("554.20")
0 có khả năng khoan dung hơn
parseFloat("NaN"); // NaN
3 vì nó bỏ qua các ký tự không hợp lệ, điều này sẽ khiến
parseFloat("NaN"); // NaN
3 trả lại
var value = parseFloat("554.20")
1.

Tương tự như chữ số và

parseFloat("NaN"); // NaN
3, số được trả về từ
var value = parseFloat("554.20")
0 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ố ngoài phạm vi
parseFloat("1.7976931348623159e+308"); // Infinity
parseFloat("-1.7976931348623159e+308"); // -Infinity

4 -
parseFloat("1.7976931348623159e+308"); // Infinity
parseFloat("-1.7976931348623159e+308"); // -Infinity

5 (xem
parseFloat("1.7976931348623159e+308"); // Infinity
parseFloat("-1.7976931348623159e+308"); // -Infinity

6),
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";
  },
});
6 hoặc
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";
  },
});
5 được trả về.

Ví dụ

Sử dụng parsefloat ()

Các ví dụ sau đây đều trả về

parseFloat("1.7976931348623159e+308"); // Infinity
parseFloat("-1.7976931348623159e+308"); // -Infinity

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ề

var value = parseFloat("554.20")
1:

Tiêu đề, vì chuỗi

var value = parseFloat("554.20")
1 không hợp lệ như được chấp nhận bởi
var value = parseFloat("554.20")
0, vượt qua
parseFloat("Infinity"); // Infinity
parseFloat("-Infinity"); // -Infinity
3 cũng trả về
var value = parseFloat("554.20")
1.

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

var fValue = parseFloat(document.getElementById("textfield").value.replace(/\./g,"").replace(",","."))
5 hoặc
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";
  },
});
8:

parseFloat("Infinity"); // Infinity
parseFloat("-Infinity"); // -Infinity

Tương tác với các giá trị lớn

var value = parseFloat("554.20")
0 không xử lý các giá trị
parseFloat("Infinity"); // Infinity
parseFloat("-Infinity"); // -Infinity
8. Nó dừng ở ký tự
parseFloat("Infinity"); // Infinity
parseFloat("-Infinity"); // -Infinity
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
var value = parseFloat("554.20")
0, 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

parseFloat(900719925474099267n); // 900719925474099300
parseFloat("900719925474099267n"); // 900719925474099300
1, mà không cần ký tự
parseFloat("Infinity"); // Infinity
parseFloat("-Infinity"); // -Infinity
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

Làm thế nào để bạn nổi trong JavaScript?

Hàm parsefloat () được sử dụng để chấp nhận chuỗi và chuyển đổi nó thành số điểm nổi. Nếu chuỗi không chứa giá trị số hoặc nếu ký tự đầu tiên của chuỗi không phải là số thì nó sẽ trả về nan i.e, không phải là số.parseFloat() function is used to accept the string and convert it into a floating-point number. If the string does not contain a numeral value or If the first character of the string is not a Number then it returns NaN i.e, not a number.

Làm cách nào để chọn một số trong JavaScript?

7 cách để chuyển đổi một chuỗi thành số trong JavaScript..
Sử dụng parseInt () parseInt () phân tích một chuỗi và trả về toàn bộ số. ....
Sử dụng số () số () có thể được sử dụng để chuyển đổi các biến JavaScript thành số. ....
Sử dụng toán tử Unary (+) ....
Sử dụng parsefloat () ....
Sử dụng toán học. ....
Nhân với số. ....
Toán tử Double Tilde (~ ~) ..

Làm thế nào để bạn đúc một chuỗi trong javascript?

Chuyển đổi các giá trị thành các giá trị chuỗi có thể được chuyển đổi rõ ràng thành các chuỗi bằng cách gọi chuỗi () hoặc n.toString ().Với hàm chuỗi (), hãy chuyển đổi giá trị boolean thành một chuỗi bằng cách chuyển giá trị true vào các tham số cho chuỗi ().Khi chúng ta làm điều này, chuỗi "True" sẽ được trả lại.Values can be explicitly converted to strings by calling either String() or n. toString() . With the String() function, let's convert a Boolean value to a string by passing the value true into the parameters for String() . When we do this, the string literal "true" will be returned.

Làm thế nào parsefloat () hoạt động trong javascript?

Hàm parsefloat 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.converts its first argument to a string, parses that string as a decimal number literal, then returns a number or NaN .