Phần trăm javascript

Hàm parseInt 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 đó, sau đó trả về một số nguyên hoặc NaN. Nếu không phải là NaN, giá trị trả về sẽ là số nguyên là đối số đầu tiên được lấy dưới dạng một số trong cơ số đã chỉ định. Đối số cơ số xác định hệ thống số sẽ được sử dụng cho chuỗi số tương ứng.

Cú pháp của parseInt() trong Javascript

Sau đây là cú pháp của parseInt() trong javascript

parseInt(str, radix_value)

Chúng ta có thể sử dụng parseInt() trong Javascript theo hai cách, một cách không có giá trị cơ số (cơ sở của giá trị số nguyên) và cách kia bằng cách chuyển một giá trị cơ số làm đối số thứ hai.

Tham số của phần trăm () trong Javascript

Sau đây là các tham số của parseInt() trong javascript

  • str. Một đối số kiểu dữ liệu chuỗi sẽ được phân tích thành một giá trị kiểu dữ liệu số nguyên
  • radix_value. Nó đại diện cho cơ sở của số trong chuỗi ký tự sẽ được phân tích cú pháp. Nó là một đối số tùy chọn trong hàm parseInt().

Giá trị trả về của parseInt() trong Javascript

Loại trả lại. số hoặc NaN

  • parseInt() trong Javascript trả về một giá trị số nguyên, được chuyển đổi từ chuỗi ký tự đã truyền và cũng dựa trên giá trị cơ số tùy chọn
  • parseInt() trong Javascript cũng có thể trả về NaN khi giá trị cơ số nhỏ hơn 2 hoặc lớn hơn 36 hoặc ký tự chuỗi đầu tiên không thể được phân tích cú pháp thành giá trị số nguyên

Ngoại lệ của parseInt() trong Javascript

JavaScript xem xét các ngoại lệ sau với hàm `parseInt()'

  • Nếu đối số chuỗi trong hàm bắt đầu bằng các ký tự "0x0x0x", cơ số sẽ được coi là 161616, i. e. một giá trị thập lục phân
  • Nếu đối số chuỗi bắt đầu bằng ký tự "000", cơ số sẽ được coi là 888 (giá trị bát phân) trong nhiều triển khai ECMAScript3 nhưng ngoại lệ này không được dùng trong ECMAScript mới nhất
  • Nếu đối số chuỗi bắt đầu bằng bất kỳ giá trị/ký tự nào khác, thì giá trị cơ số sẽ là 101010, i. e. được coi là một số thập phân
  • Nếu đối số chuỗi chứa một số không hợp lệ, không thể phân tích cú pháp thành giá trị số nguyên, hàm sẽ trả về NaNNaNNaN (Không phải là Số).

Ví dụ về phần trăm () trong Javascript

Hãy xem một đoạn mã javascript để hiểu cách hoạt động của parseInt()

mã số

console.log(parseInt("100111", 2))

đầu ra

Giải trình. Trong ví dụ trên, chúng ta đang chuyển một giá trị chuỗi số nhị phân "100111" với cơ số 2 (radix_value = 2) cho hàm parseInt(). 100111 sẽ được phân tích dưới dạng số nhị phân và nó sẽ được chuyển thành số thập phân 39 với cơ số 10

Hãy hiểu việc chuyển đổi "100111" với cơ số 2 thành một số nguyên của cơ số 10. Ở đây, chuyển đổi nhị phân sang thập phân được thực hiện bởi hàm parseInt().

Phần trăm javascript

Phần trăm () trong JavaScript là gì?

parseInt() là một hàm dựng sẵn trong Javascript, hàm này nhận hai tham số, tham số đầu tiên là chuỗi ký tự sẽ được chuyển đổi thành giá trị số nguyên và tham số thứ hai là tham số tùy chọn, i. e. , giá trị cơ số của chuỗi ký tự số. Phương thức parseInt() sau đó phân tích chuỗi và trả về một số nguyên hoặc NaN.

Giải thích bát phân không có cơ số

Xin lưu ý rằng thông tin bên dưới không áp dụng cho các triển khai mới hơn kể từ năm 2021.

Nhiều triển khai ECMAScript3 đã diễn giải một chuỗi số bắt đầu bằng 0 trong chuỗi ký tự dưới dạng giá trị bát phân, mặc dù chuỗi số bắt đầu bằng 0 được coi là giá trị thập phân trong ECMAScript6 mới nhất. Sau đây có thể đã mang lại một kết quả bát phân hoặc thập phân

mã số

console.log(parseInt('0e0'))
console.log(parseInt('08'))

đầu ra. (với ECMAScript 3)

Giải trình

  • Cả hai chuỗi ký tự đều bắt đầu bằng 000, vì vậy chúng được coi là số bát phân.
  • 0e00e00e0 chuỗi ký tự được đánh giá cho đến 000 đầu tiên, khi một char eee xuất hiện, nó dừng phân tích cú pháp chuỗi vì nó không có trong biểu diễn bát phân, do đó, nó sẽ chỉ xuất ra 000
  • Với chuỗi ký tự 080808, 888 cũng không có trong biểu diễn bát phân, vì vậy nó sẽ dừng ở 888 và sẽ cho đầu ra 000.

đầu ra. (với ECMAScript mới nhất sau năm 2021)

Giải trình

  • Những con số này được coi là số thập phân trong ECMAScript mới nhất
  • Ở đây cũng vậy, chuỗi ký tự 0e00e00e0 được đánh giá cho đến 000 đầu tiên, khi char eee xuất hiện, nó dừng phân tích cú pháp chuỗi vì nó không có trong biểu diễn thập phân, vì vậy nó sẽ chỉ xuất ra 000
  • Với chuỗi ký tự 080808, cả 000 và 888 đều có trong biểu diễn thập phân, do đó, nó sẽ cho đầu ra 888

Chức năng phân tích cú pháp chặt chẽ hơn

Đôi khi, có thể phân tích các số chính xác hơn là một lợi thế. Nó sẽ trả về một số nguyên được phân tích cú pháp tương đương hoặc nó sẽ trả về NaN. Ở đây, hàm Number() được sử dụng để lấy một giá trị số nguyên ra khỏi chuỗi ký tự và nó chỉ có thể chấp nhận một đối số, tức là. e. một chuỗi ký tự. Nó không lấy giá trị cơ số làm tham số

cú pháp

mã ví dụ

Chúng tôi đang sử dụng một biểu thức chính quy trong ví dụ dưới đây để kiểm tra các giá trị

ĐĂNG KÝ. /^[-+]?(\d+. Vô cực)$/

Biểu thức chính quy ở trên sẽ kiểm tra xem chuỗi có bắt đầu bằng dấu +++ hoặc −-− hay không (??? biểu thị không nhất thiết phải có) và nhóm (\d+. Infinity)$ biểu thị rằng chuỗi phải kết thúc bằng các chữ số [0−9]+[0-9]+[0−9]+ hoặc từ InfinityInfinityInfinity, thì chỉ chuỗi đó mới được chấp nhận

// stricter parseInt() in Javascript
function strictParseInt(value) {
  if (/^[-+]?(\d+|Infinity)$/.test(value)) {
    return Number(value)
  } else {
    return NaN
  }
}

console.log(strictParseInt('36'))       // 36
console.log(strictParseInt('-36'))     // -36
console.log(strictParseInt('+36'))     // 36 
console.log(strictParseInt('Infinity')) // Infinity 
console.log(strictParseInt('+Infinity')) // Infinity
console.log(strictParseInt('-Infinity'))  // -Infinity
console.log(strictParseInt('35e+10')) // NaN
console.log(strictParseInt('str1.61803398875')) // NaN
console.log(strictParseInt('1.61803398875'))  // NaN

ĐẦU RA

36
-36
36
Infinity
Infinity
-Infinity
NaN
NaN
NaN

Giải trình. Đầu ra hoàn toàn dựa trên biểu thức chính quy và nó trả về một giá trị số nguyên với cơ số 10, nếu giá trị kiểm tra biểu thức chính quy là đúng, nếu không thì trả về NaN (Không phải là Số)

Thêm ví dụ

1. Các ví dụ khác nhau về parseInt() trong Javascript

// simple integer values
console.log(parseInt(12)) // 12

// with decimal numbers
console.log(parseInt("36.59")); // 36

// with hexadecimal radix value 
console.log(parseInt("F", 16)); // 15

// number starting with 0x considered as hexadecimal
console.log(parseInt("0xE"));  // 14

// negative string literal
console.log(parseInt("-71", 8)); // -57

// numbers are detected till a char appears in the string
console.log(parseInt("35,12")); // 35
console.log(parseInt("FXX12", 16)); // 15

// Not a Number (NaN) returned if invalid string is passed
console.log(parseInt("javascript", 8)); // NaN
console.log(parseInt("123", 2)); // NaN is returned as binary can only have 0 or 1

// there is a loss of precision in case of BigInt values with parseInt() function
console.log(parseInt("369876124563132121n")); // 369876124563132100

đầu ra

12
36
15
14
-57
35
15
NaN
1
369876124563132100

Giải trình. Trên đây là một số ví dụ về parseInt() trong javascript

2. Thêm hai chuỗi có và không sử dụng phương thức parseInt()

var x = "5"  

var y = "11"  

// adding two string without parseInt(), standard method
var z = x + y  

console.log("Without using parseInt(): " + z);  // 511

// adding two strings using parseInt() and 
// considering the string literals as integer values
var z = Number.parseInt(x) + Number.parseInt(y);

console.log("Using parseInt(): " + z);  // 16

đầu ra

________số 8

Giải trình. Ví dụ trên giải thích rõ ràng cách có thể thêm hai chuỗi bằng cách sử dụng parseInt() và không sử dụng parseInt()

3. Truyền đối số cơ số trong phương thức parseInt()

Truyền một cơ sở (radix_value) của số trong chuỗi ký tự

console.log(parseInt("101", 2)) // 5

console.log(parseInt("102", 3)) // 11

console.log(parseInt("123", 4)) // 27

console.log(parseInt("999", 10)) // 999

console.log(parseInt("10a", 11)) // 131

console.log(parseInt("10b", 12)) // 155

console.log(parseInt("8c", 13)) // 116

console.log(parseInt("26d", 14)) // 489

console.log(parseInt("12e", 15)) // 269

console.log(parseInt("10f", 16)) // 271

đầu ra

console.log(parseInt("100111", 2))
0

Giải trình. Tất cả đầu ra của bàn điều khiển là số thập phân với cơ số 10, parseInt() lấy chuỗi ký tự bằng radix_value tương ứng của chúng và chuyển đổi chúng thành số nguyên với số thập phân cơ số 10

Tính tương thích của trình duyệt web

Phương thức parseInt trong javascript được hỗ trợ bởi tất cả các trình duyệt như Chrome, Edge, Safari, Opera, v.v.

Phần trăm () trong JavaScript là gì?

Mô tả. Hàm parseInt 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 đó, sau đó trả về một số nguyên hoặc NaN . Nếu không phải là NaN, giá trị trả về sẽ là số nguyên là đối số đầu tiên được lấy dưới dạng một số trong cơ số đã chỉ định.

Làm cách nào để viết parseInt trong JavaScript?

Phương thức parseInt phân tích cú pháp một giá trị dưới dạng chuỗi và trả về số nguyên đầu tiên. Tham số cơ số chỉ định hệ thống số sẽ sử dụng. 2 = nhị phân, 8 = bát phân, 10 = thập phân, 16 = thập lục phân. Nếu cơ số bị bỏ qua, JavaScript sẽ giả sử cơ số 10.

Khi nào có thể sử dụng phương thức parseInt()?

Nó được sử dụng trong java để chuyển đổi giá trị chuỗi thành số nguyên bằng cách sử dụng phương thức parseInt(). Phương thức parseInt() đưa ra ba ngoại lệ. NullPulumException, IndexOutOfBoundsException, NumberFormatException khi đối số đầu vào không theo quy ước.

Làm cách nào để phân tích giá trị trong JavaScript?

Bạn có thể sử dụng Biểu thức chính quy để phân tích văn bản trong Javascript. Chỉ cần sử dụng myString. match('myRegEx') và nó sẽ trả về một mảng với các giá trị được phân tích cú pháp. Xin lưu ý rằng các giá trị vẫn ở định dạng văn bản nên chúng cần được chuyển thành số float nếu bạn muốn sử dụng chúng như vậy