Hướng dẫn này liệt kê các cách khác nhau trong JavaScript để chuyển đổi một số dấu phẩy động thành một số nguyên.

Bạn đang xem : chuyển đổi thành số nguyên js

Trong JavaScript, chúng ta có nhiều cách chuyển đổi float thành int, như hình dưới đây.

  • Hàm parseInt ()
  • Phương thức Number.toFixed ()
  • Chuyển đổi bằng các toán tử bitwise
    • Áp dụng OR bởi 0
    • Sử dụng toán tử kép NOT
    • Ngay SHIFT bởi 0
  • Sử dụng các hàm thư viện Math trong javascript
    • Math.floor ()
    • Math.round ()
    • Math.ceil ()
    • Math.trunc ()

Chuyển Float thành Int Sử dụng parseInt () < / code> Hàm trong JavaScript

parseInt () được sử dụng rộng rãi trong JavaScript. Với chức năng này, chúng ta có thể chuyển đổi các giá trị của các kiểu dữ liệu khác nhau sang kiểu số nguyên. Trong phần này, chúng ta sẽ thấy việc chuyển đổi một số thực thành một số nguyên. Cú pháp của parseInt () parseInt (& lt; value & gt;) . Đoạn mã sau hiển thị hoạt động của hàm.

  console.log (parseInt (123.321));
console.log (parseInt (123.998));
 

Đầu ra:

  123
123
 

Nhận xét

  • Để biết thêm thông tin, hãy tham khảo tài liệu MSN .
  • Trong khi chuyển đổi các giá trị float, parseInt () sẽ loại bỏ các số thập phân và không xem xét chúng trong khi trả về toàn bộ phần số của giá trị float.
  • parseInt () < / code> trả về NaN trong trường hợp không thể chuyển đổi. Do đó, tốt hơn hết bạn nên thêm dấu kiểm isNaN () trong khi chuyển đổi các giá trị để mã được an toàn và không bị hỏng.

Chuyển Float thành Int bằng Number.toFixed () trong JavaScript

Number.toFixed () hoạt động hơi khác so với parseInt () . Nó làm tròn số thành giá trị số nguyên gần nhất. Do đó, hãy cẩn thận với thực tế làm tròn. Number.toFixed () làm tròn giá trị thập phân của float nhỏ hơn .5 thành giá trị số nguyên thấp hơn. Nếu giá trị thập phân là 0.5 hoặc lớn hơn, thì số thực sẽ được làm tròn thành giá trị số nguyên cao hơn tiếp theo. Cú pháp của hàm Number.toFixed () như sau.

  numberObject.toFixed (& lt; số chữ số & gt;);
 

Thông thường, chúng ta cần truyền một tham số cho hàm này để chỉ định số chữ số sau số thập phân trong đầu ra. Đối với mục đích của chúng tôi, chúng tôi không cần đề cập đến bất kỳ đối số nào vì theo mặc định, nó nhận tham số là 0 , do đó trả về một giá trị số nguyên. Tham khảo các mã mẫu sau.

  console.log ((123.123) .toFixed (2));
console.log ((123.123) .toFixed ());
console.log ((123,98) .toFixed ());
console.log ((123.49) .toFixed ());
console.log ((123.5) .toFixed ());
 

Đầu ra:

  123.12
123
124
123
124
 

Chú thích

  • Không giống như phương thức parseInt () , Number.toFixed ( ) không nổi tiếng với việc trích xuất phần nguyên, vì nó làm tròn giá trị float được truyền dưới dạng tham số.

  • Người ta có thể sử dụng hàm này để chỉ chuyển đổi các giá trị float. Không giống như hàm parseInt () , chuyển đổi giá trị chuỗi thành float không được hỗ trợ bởi Number.toFixed () .

Chuyển đổi Float sang Int Với ​​Toán tử Bitwise trong JavaScript

Chúng tôi đã thấy các phương thức của parseInt () Number.toFixed () . Cả hai đều thực hiện một số hoạt động nội bộ để có được kết quả mong muốn. Các toán tử bitwise hiệu quả, nhanh chóng và trên mỗi định dạng trong việc chuyển đổi các giá trị float thành một số nguyên khi so sánh với hai phương pháp. Chúng tôi có thể sử dụng các toán tử bitwise sau để chuyển đổi.

Áp dụng HOẶC trước 0

Chúng tôi có thể sử dụng bitwise HOẶCtoán tử để lấy toàn bộ phần số của một số dấu phẩy động. Các toán tử bitwise hoạt động ở mức nhị phân. Nó chuyển đổi số toán hạng thành nhị phân, và sau đó thao tác OR từng bit được thực thi. Việc áp dụng OR với 0 cho bất kỳ số dấu phẩy động nào trong phạm vi chấp nhận được sẽ trả về toàn bộ phần số của giá trị dấu phẩy động. Tham khảo các ví dụ bên dưới.

  console.log (123.321 | 0);
console.log (123.5432 | 0);
console.log (123.921 | 0);
console.log (216 | 0);
console.log (-321.456 | 0)
 

Đầu ra:

  123
123
123
216
-321
 

Sử dụng Toán tử Double NOT

Một toán tử bitwise khác là NOT , được biểu thị bằng dấu ~ . Là một toán tử một ngôi, chúng ta có thể sử dụng toán tử bitwise NOT để loại bỏ phần thập phân trong một số thực. Toán tử NOT , ở cấp nhị phân, đảo các giá trị bit nhị phân (trả về 0 cho một bit 1 1 cho giá trị bit 0 ). Có nghĩa là nếu một số được biểu diễn dưới dạng nhị phân bởi 10110 , thì việc áp dụng NOT cho nó sẽ mang lại giá trị đảo ngược 01001 . Việc áp dụng lại chức năng NOT sẽ trả lại các bit ban đầu ( 10110 ) của số. Do đó, việc áp dụng toán tử NOT hai lần sẽ trả về giá trị số và trong quá trình này, nó không thay đổi số nếu nó là số nguyên. Nhưng đối với giá trị float, việc áp dụng toán tử NOT hai lần sẽ chỉ trả về toàn bộ phần số của số thực. Các ví dụ sau đây làm rõ thực tế này.

  console.log (~~ (123.321));
console.log (~~ (123.53));
console.log (~~ (23,97));
console.log (~~ (-23,97));
console.log (~~ (-0,97));
 

Đầu ra:

  123
123
23
-23
0
 

Right Shift bằng 0

Chúng ta có thể áp dụng toán tử dịch phải theo chiều dọc bit (được biểu thị bằng & gt; & gt ; ký tự). Nó sẽ chuyển đổi giá trị float thành một số nguyên. Bên dưới ở mức nhị phân, toán tử SHIFT bên phải theo chiều dọc bit sẽ dịch chuyển các bit nhị phân của toán hạng sang bên phải bằng một số đếm được chỉ định bởi toán hạng thứ hai. Do đó, nó bỏ qua các bit tràn sang bên phải. Khi làm như vậy, hàm bảo toàn giá trị dấu của một số. Các mã sau thể hiện hoạt động của toán tử SHIFT phù hợp.

  console.log (123.321 & gt; & gt; 0);
console.log (123,53 & gt; & gt; 0);
console.log (23,97 & gt; & gt; 0);
console.log (-23,97 & gt; & gt; 0);
console.log (-0,97 & gt; & gt; 0);
 

Đầu ra:

  123
123
23
-23
0
 < hoặc các hoạt động như sẽ được thực hiện nội bộ bởi  parseInt ()  hoặc  Number.toFixed () .  
  • Các toán tử bitwise như OR , NOT , v.v., khi áp dụng trên số lượng lớn, có thể cho kết quả không mong muốn. Giá trị tối đa được hỗ trợ để cắt bớt giá trị thập phân là 2147483647 (231-1). Bất kỳ số nào nhiều hơn 2147483647 sẽ cho kết quả không mong muốn.
  • Trong JavaScript, số dấu phẩy động được biểu thị bằng 64 bit, với một bit dành riêng để bảo toàn giá trị dấu (dương hoặc âm ), 32 bit cho phần số nguyên. Các toán tử bitwise hoạt động trên các số 32 bit có dấu bỏ qua giá trị thập phân. Do đó, chúng tôi nhận được phần số nguyên của giá trị float.
  • Chuyển đổi Float thành Int Sử dụng các hàm thư viện Math trong JavaScript

    Chúng ta có thể sử dụng thư viện JavaScript Math , có nhiều chức năng khác nhau để lấy số nguyên từ số dấu phẩy động. Không giống như các toán tử bitwise, các toán tử này cung cấp các tính năng bổ sung dựa trên các yêu cầu như làm tròn giá trị thành các số gần nhất, cắt bớt giá trị, v.v. Chúng tôi có thể sử dụng các phương pháp sau cho mục đích này.

    Chuyển đổi Với Math.floor ()

    Hàm Math.floor () làm tròn giá trị được truyền dưới dạng tham số thành giá trị số nguyên thấp hơn tiếp theo. Cú pháp của Math.floor () Math.floor (& lt; giá trị float & gt;) . Sau đây là một số ví dụ cho thấy cách sử dụng và cách nó chuyển đổi một số thực thành một số nguyên.

      console.log (Math.floor (123.321));
    console.log (Math.floor (123.53));
    console.log (Math.floor (23,97));
    console.log (Math.floor (-23,97));
    console.log (Math.floor (-0,97));
     

    Đầu ra:

      123
    123
    23
    -24
    -1
     

    Trường hợp các số thực âm như Math.floor (-23,97) có vẻ khó hiểu, nhưng hàm chuyển đổi đúng giá trị thành số nguyên thấp hơn tiếp theo, < mã> -24 . Hãy nhớ rằng giá trị số của một số âm càng cao thì giá trị thực của nó càng nhỏ.

    ​​Chuyển đổi Với Math.round ( )

    Không giống như hàm Math.floor () , Math.round () ước tính giá trị được truyền vào các tham số. Nếu giá trị sau số thập phân là 5 hoặc lớn hơn, thì số được làm tròn thành số nguyên cao hơn tiếp theo. Ngược lại, nếu giá trị sau số thập phân nhỏ hơn 5 , nó sẽ được làm tròn thành số nguyên thấp hơn. Do đó, dựa trên giá trị sau dấu thập phân, hàm Math.round () có thể hoạt động tương tự như Math.floor () hoặc Math.ceil () < / code> chức năng. Sau đây là một vài ví dụ với Math.round () .

      console.log (Math.round (123.321));
    console.log (Math.round (123.53));
    console.log (Math.round (23,97));
    console.log (Math.round (-23,97));
    console.log (Math.round (-0,97));
     

    Đầu ra:

      123
    124
    24
    -24
    -1
     

    Chuyển đổi với Math.ceil ()

    Math.ceil () hàm hoạt động ngược lại với hàm Math.floor () . Thay vì làm tròn thành số nguyên thấp hơn tiếp theo như trong Math.floor () , Math.ceil () trả về giá trị số nguyên cao hơn tiếp theo. Sau đây là một số chuyển đổi với Math.ceil () .

      console.log (Math.ceil (123.321));
    console.log (Math.ceil (123.53));
    console.log (Math.ceil (23,97));
    console.log (Math.ceil (-23,97));
    console.log (Math.ceil (-0,97));
     

    Đầu ra:

      124
    124
    24
    -23
    -0
     

    Chuyển đổi Với Math.trunc ()

    Như tên gợi ý, < code> Math.trunc () hàm cắt bớt giá trị thập phân và trả về phần số nguyên của giá trị float. Phương pháp này có thể được coi là tương tự như các toán tử bitwise đã thảo luận trước đó. Ở đây, không có làm tròn số đến các số nguyên gần nhất. Thay vào đó, nó trả về toàn bộ phần số của giá trị float như nó vốn có. Sau đây là một số trường hợp sử dụng với Math.trunc () .

      console.log (Math.trunc (123.321));
    console.log (Math.trunc (123.53));
    console.log (Math.trunc (23,97));
    console.log (Math.trunc (-23,97));
    console.log (Math.trunc (-0,97));
     

    Đầu ra:

      123
    123
    23
    -23
    -0
     

    Kết luận

    Có nhiều cách khác nhau để lấy phần số nguyên ra khỏi giá trị float. Các toán tử bitwise nhanh hơn trong quá trình thực thi vì chúng thực hiện các hoạt động ở cấp nhị phân mà không yêu cầu chuyển đổi hoặc bất kỳ xử lý nào khác. parseInt () , Math.trunc () và các toán tử bitwise ( OR by 0 , Double KHÔNG , dịch phải bằng 0 ) cho toàn bộ số chính xác như thể chúng xé giá trị float ở dấu thập phân và chỉ trả lại toàn bộ phần số của nó. Nếu chúng ta quan tâm đến việc xử lý số thực để làm tròn nó hoặc lấy số nguyên gần nhất dựa trên yêu cầu kinh doanh, thì tốt hơn là bạn nên sử dụng Number.toFixed () , Math.round ( ) , Math.ceil () và các hàm Math.floor () .

    Viết cho chúng tôi

    Các bài viết về DelftStack được viết bởi những người yêu thích phần mềm như bạn. Nếu bạn cũng muốn đóng góp cho DelftStack bằng cách viết các bài báo trả phí, bạn có thể xem trang viết cho chúng tôi .


    Xem thêm những thông tin liên quan đến chủ đề chuyển đổi sang số nguyên js

    NGƯỜI BẢN NÚI | Hướng dẫn tạo một Landing page để bán hàng

    • Tác giả: NGƯỜI BẢN NÚI
    • Ngày đăng: 2022-06-22
    • Đánh giá: 4 ⭐ ( 2429 lượt đánh giá )
    • Khớp với kết quả tìm kiếm: Vậy bạn đã biết Landing Page là gì? Tại sao doanh nghiệp cần có nó và làm thế nào để thiết kế một Landing Page đẹp, chuyên nghiệp, thu hút thật nhiều traffic ngày từ khi vừa ra mắt?
      landingpage marketing

    Javascript – Một số mẹo giúp chuyển đổi String sang Number

    • Tác giả: itzone.com.vn
    • Đánh giá: 4 ⭐ ( 6013 lượt đánh giá )
    • Khớp với kết quả tìm kiếm: The ITZone platform Vietnam is the community for anyone interested in news, training seminars, presentations etc in the IT industry

    Làm sao để convert String sang Number trong JavaScript?

    • Tác giả: kipalog.com
    • Đánh giá: 3 ⭐ ( 5125 lượt đánh giá )
    • Khớp với kết quả tìm kiếm: JavaScript cung cấp nhiều cách khác nhau để convert String sang Number. Và trong bài viết này, mình sẽ tổng hợp lại một số cách mà mình đã biết. ...

    Chuyển đổi kiểu dữ liệu trong JavaScript

    • Tác giả: completejavascript.com
    • Đánh giá: 5 ⭐ ( 4319 lượt đánh giá )
    • Khớp với kết quả tìm kiếm: JavaScript là ngôn ngữ lập trình có kiểu dữ liệu động. Nên bạn sẽ thấy việc chuyển đổi kiểu dữ liệu xảy ra trong JS. Sau đây mình sẽ tìm hiểu về những chuyển đổi thường dùng nhất: string, number và boolean.

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

    • Tác giả: qastack.vn
    • Đánh giá: 5 ⭐ ( 4596 lượt đánh giá )
    • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Cách đơn giản nhất là sử dụng Numberhàm riêng: var x = Number("1000") Nếu điều đó…

    Chuyển chuỗi thành số nguyên trong JavaScript (Number.parseInt)

    • Tác giả: laptrinhcanban.com
    • Đánh giá: 4 ⭐ ( 8114 lượt đánh giá )
    • Khớp với kết quả tìm kiếm: Hướng dẫn cách chuyển chuỗi thành số nguyên trong JavaScript. Bạn sẽ học được cách sử dụng thuộc tính Number.parseInt để chuyển chuỗi thành số nguyên trong JavaScript sau bài học này.

    Chuyển đổi Object về kiểu dữ liệu nguyên thủy trong Javascript

    • Tác giả: kungfutech.edu.vn
    • Đánh giá: 3 ⭐ ( 1182 lượt đánh giá )
    • Khớp với kết quả tìm kiếm: Trong bài viết chuyển đổi kiểu dữ liệu, mình đã giới thiệu về cách chuyển đổi các kiểu dữ liệu nguyên thủy sang number và string.Nhưng nếu toán hạng không phải kiểu dữ liệu nguyên thủy mà là object thì sao? Hay làm sao để chuyển đổi object về kiểu dữ liệu nguyên thủy? Sau đây là những kiến thức cơ bản bạn cần biết.

    Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

    Xem Thêm  CSS kiểu HTML - sử dụng biểu định kiểu trong html

    By ads_php