Chuyển đổi 2 thành 2,00 trong javascript

Số dấu phẩy động được phân tích cú pháp từ

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";
  },
});
9 đã cho 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";
  },
});
1 khi ký tự không phải khoảng trắng đầu tiên không thể chuyển đổi thành số

Ghi chú. JavaScript không có sự phân biệt "số dấu phẩy động" và "số nguyên" ở cấp độ ngôn ngữ.

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";
  },
});
2 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";
  },
});
0 chỉ khác nhau về hành vi phân tích cú pháp, nhưng không nhất thiết là giá trị trả về của chúng. Ví dụ:
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";
  },
});
4 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 sẽ trả về cùng một giá trị. một
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 42

Sự mô tả

Hàm

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";
  },
});
7 chuyển đổi đối số đầu tiên của nó thành một chuỗi, phân tích cú pháp chuỗi đó dưới dạng số thập phân bằng chữ, sau đó trả về một số 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";
  },
});
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
    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";
      },
    });
    
    0 là dấu cộng (
    parseFloat("FF2");
    
    0), dấu trừ (
    parseFloat("FF2");
    
    1 U+002D HYPHEN-MINUS), chữ số thập phân (
    parseFloat("FF2");
    
    2 –
    parseFloat("FF2");
    
    3), dấu thập phân (
    parseFloat("FF2");
    
    4), chỉ báo số mũ (
    parseFloat("FF2");
    
    5 hoặc
    parseFloat("FF2");
    
    6) và ký tự
    parseFloat("FF2");
    
    7
  • Dấu hiệu ________ 70/________ 71 chỉ có thể xuất hiện hoàn toàn ở đầu chuỗi hoặc ngay sau ký tự ________ 75/________ 76. Dấu thập phân chỉ có thể xuất hiện một lần và chỉ trước ký tự ________ 75/________ 76. Ký tự ________ 75/________ 76 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 bớt và bỏ qua
  • 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";
      },
    });
    
    0 cũng có thể phân tích cú pháp 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";
      },
    });
    
    37 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";
      },
    });
    
    38 nếu chuỗi bắt đầu bằng
    parseFloat("FF2");
    
    7 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";
      },
    });
    
    60 trước không có hoặc nhiều khoảng trắng
  • 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";
      },
    });
    
    0 chọn chuỗi con dài nhất bắt đầu từ đầu tạo ra một số hợp lệ bằng chữ. 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 thời điểm đó, bỏ qua ký tự không hợp lệ và tất cả các ký tự theo sau nó
  • Nếu ký tự đầu tiên của đối số không thể bắt đầu bằng chữ số hợp pháp theo cú pháp ở trên, thì
    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";
      },
    });
    
    7 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";
      },
    });
    
    1

Về mặt cú pháp,

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";
  },
});
0 phân tích cú pháp một tập hợp con của cú pháp mà hàm
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";
  },
});
65 chấp nhận. Cụ thể,
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";
  },
});
0 không hỗ trợ các chữ số không thập phân với các tiền tố
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";
  },
});
67,
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";
  },
});
68 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";
  },
});
69 nhưng hỗ trợ mọi thứ khác. Tuy nhiên,
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";
  },
});
0 nhẹ nhàng hơn
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";
  },
});
65 vì nó bỏ qua các ký tự không hợp lệ ở cuối, điều này sẽ khiến
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";
  },
});
65 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";
  },
});
1

Tương tự như số chữ 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";
  },
});
65, số được trả về từ
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";
  },
});
0 có thể không chính xác bằng số được biểu thị bằng chuỗi, do phạm vi dấu phẩy động và độ không chính xác. Đối với các số bên ngoài phạm vi ________ 376 – ________ 377 (xem _________ 378), _______ 238 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";
  },
});
37 được trả về

ví dụ

Sử dụng parseFloat()

Các ví dụ sau đều 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";
  },
});
21

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ả về NaN

Ví dụ sau 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";
  },
});
1

parseFloat("FF2");

Thông thường, bởi vì bản thân chuỗi

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";
  },
});
1 là cú pháp không hợp lệ như được chấp nhận bởi
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";
  },
});
0, nên việc chuyển
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";
  },
});
25 cũng 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";
  },
});
1

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";
  },
});
3

trở lại vô cực

Các giá trị vô cực được trả về khi số nằm ngoài phạm vi định dạng IEEE 754-2019 64 bit có độ chính xác kép

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

Infinity cũng được trả về khi chuỗi bắt đầu bằng

parseFloat("FF2");
7 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";
  },
});
60

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";
  },
});
7

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

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";
  },
});
0 không xử lý giá trị
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";
  },
});
40. Nó dừng ở ký tự
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";
  },
});
41 và coi chuỗi trước đó là một số nguyên bình thường, có thể mất độ chính xác. Nếu một giá trị BigInt được chuyển đến
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";
  },
});
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 dưới dạng số dấu phẩy động, điều này cũng có thể dẫn đến mất độ chính xá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";
  },
});
2

Thay vào đó, bạn nên chuyển chuỗi tới hàm ________ 543, không có ký tự ________ 541 ở cuối