Chuyển đổi chuỗi thành số âm javascript

nên thực hiện các chuyển đổi như vậy với API thay vì với Thao tác chuỗi. Mọi theo dõi lỗi/ngoại lệ đều cho phép thiết lập triển khai đáng tin cậy hơn. g. Kiểm tra TryParse

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

Phương thức ________ 59 ______ trả về một số là âm, dương hay bằng không

Nếu số dương, phương thức này trả về 1
Nếu số âm, nó trả về -1
Nếu số là 0, nó trả về 0


Hỗ trợ trình duyệt

Math.sign() là một tính năng ECMAScript6 (ES6)

ES6 (JavaScript 2015) được hỗ trợ trong tất cả các trình duyệt hiện đại

ChromeEdgeFirefoxSafariOperaCóCóCóCóCó

Math.sign() không được hỗ trợ trong Internet Explorer 11 (hoặc cũ hơn)


cú pháp

Thông số

Tham sốMô tảxBắt buộc. Một số

Giá trị trả về

Một số, đại diện cho dấu hiệu của số được chỉ định
  • Nếu số dương, nó trả về 1
  • Nếu số âm, nó trả về -1
  • Nếu số là số 0 dương, nó trả về 0
  • Nếu số là số 0 âm, nó trả về -0
  • Nếu số không phải là số, nó sẽ trả về NaN


Một số dấu phẩy động được phân tích cú pháp từ string đã 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 không thể chuyển đổi ký tự không phải khoảng trắng đầu tiên thành một 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() 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

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() là dấu cộng (
    parseFloat("FF2");
    
    0), dấu trừ (_______7_______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ỉ số mũ (
    parseFloat("FF2");
    
    5 hoặc
    parseFloat("FF2");
    
    6) và ký tự
    parseFloat("FF2");
    
    7
  • Dấu
    parseFloat("FF2");
    
    0/
    parseFloat("FF2");
    
    1 chỉ có thể xuất hiện hoàn toàn ở đầu chuỗi hoặc ngay sau ký tự
    parseFloat("FF2");
    
    5/
    parseFloat("FF2");
    
    6. Dấu thập phân chỉ có thể xuất hiện một lần và chỉ trước ký tự
    parseFloat("FF2");
    
    5/
    parseFloat("FF2");
    
    6. Ký tự
    parseFloat("FF2");
    
    5/
    parseFloat("FF2");
    
    6 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() cũng có thể phân tích cú pháp và trả về
    parseFloat("NaN"); // NaN
    
    7 hoặc
    parseFloat("NaN"); // NaN
    
    8 nếu chuỗi bắt đầu bằng
    parseFloat("FF2");
    
    7 hoặc
    parseFloat("1.7976931348623159e+308"); // Infinity
    parseFloat("-1.7976931348623159e+308"); // -Infinity
    
    0 trước không có hoặc nhiều khoảng 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ệ 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() phân tích một tập hợp con của cú pháp mà hàm

parseFloat("1.7976931348623159e+308"); // Infinity
parseFloat("-1.7976931348623159e+308"); // -Infinity
5 chấp nhận. Cụ thể, parseFloat() không hỗ trợ các chữ số không thập phân với các tiền tố
parseFloat("1.7976931348623159e+308"); // Infinity
parseFloat("-1.7976931348623159e+308"); // -Infinity
7,
parseFloat("1.7976931348623159e+308"); // Infinity
parseFloat("-1.7976931348623159e+308"); // -Infinity
8 hoặc
parseFloat("1.7976931348623159e+308"); // Infinity
parseFloat("-1.7976931348623159e+308"); // -Infinity
9 nhưng hỗ trợ mọi thứ khác. Tuy nhiên, parseFloat() nhẹ nhàng hơn
parseFloat("1.7976931348623159e+308"); // Infinity
parseFloat("-1.7976931348623159e+308"); // -Infinity
5 vì nó bỏ qua các ký tự không hợp lệ ở cuối, điều này sẽ khiến
parseFloat("1.7976931348623159e+308"); // Infinity
parseFloat("-1.7976931348623159e+308"); // -Infinity
5 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("1.7976931348623159e+308"); // Infinity
parseFloat("-1.7976931348623159e+308"); // -Infinity
5, 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 dấu phẩy động và độ không chính xác. Đối với các số nằm ngoài phạm vi
parseFloat("Infinity"); // Infinity
parseFloat("-Infinity"); // -Infinity
6 –
parseFloat("Infinity"); // Infinity
parseFloat("-Infinity"); // -Infinity
7 (xem
parseFloat("Infinity"); // Infinity
parseFloat("-Infinity"); // -Infinity
8), thì trả về
parseFloat("NaN"); // NaN
8 hoặc
parseFloat("NaN"); // NaN
7

Tất cả các ví dụ sau đều trả về

parseFloat(900719925474099267n); // 900719925474099300
parseFloat("900719925474099267n"); // 900719925474099300
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";
  },
});

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(), việc chuyển
parseFloat(900719925474099267n); // 900719925474099300
parseFloat("900719925474099267n"); // 900719925474099300
5 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("NaN"); // NaN

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("1.7976931348623159e+308"); // Infinity
parseFloat("-1.7976931348623159e+308"); // -Infinity

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

parseFloat("FF2");
7 hoặc
parseFloat("1.7976931348623159e+308"); // Infinity
parseFloat("-1.7976931348623159e+308"); // -Infinity
0

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

parseFloat() không xử lý các giá trị

BigInt("900719925474099267");
// 900719925474099267n
0. Nó dừng ở ký tự
BigInt("900719925474099267");
// 900719925474099267n
1 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(), 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(900719925474099267n); // 900719925474099300
parseFloat("900719925474099267n"); // 900719925474099300

Thay vào đó, bạn nên chuyển chuỗi tới hàm

BigInt("900719925474099267");
// 900719925474099267n
3 mà không có ký tự
BigInt("900719925474099267");
// 900719925474099267n
1 ở cuối

Làm cách nào để chuyển đổi chuỗi thành số âm trong JavaScript?

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

JavaScript. Chuyển đổi số dương thành số âm .
Giải pháp mẫu. -
Mã HTML. <. .
Mã JavaScript. hàm pos_to_neg(num) { return -Math. cơ bụng (số); . nhật ký (pos_to_neg (15));.
Sơ đồ
Bản thử trực tiếp. .
Cải thiện giải pháp mẫu này và đăng mã của bạn qua Disqus

Làm cách nào để chuyển đổi số dương thành âm và âm thành dương trong JavaScript?

Nhân số âm với -1 . Chúng tôi sẽ kiểm tra số bằng câu lệnh if-else. Nếu số nhỏ hơn 0, có nghĩa là số âm, chúng tôi sẽ nhân nó với -1. Nếu không, chúng tôi sẽ giữ nguyên số lượng.

Cách tốt nhất để chuyển đổi một chuỗi thành một số trong JavaScript là gì?

Cách chuyển đổi một chuỗi thành một số trong JavaScript sử dụng toán tử cộng một ngôi ( + ) Toán tử cộng một ngôi ( + ) sẽ chuyển đổi . Toán tử sẽ đi trước toán hạng. Chúng ta cũng có thể sử dụng toán tử cộng một ngôi ( + ) để chuyển đổi một chuỗi thành một số dấu phẩy động.