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 sang int javascript

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 parseIn t () 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 toán tử bitwise OR để 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 ()

    Math. Hàm 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 , sang phải theo 0) cung cấp số nguyên 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 int javascript

    Creating a Numbers to Words Converter in JavaScript: Part 1

    • Tác giả: SteamCode
    • Ngày đăng: 2021-06-14
    • Đánh giá: 4 ⭐ ( 6196 lượt đánh giá )
    • Khớp với kết quả tìm kiếm: Hello everyone, welcome back to SteamCode. In this video, We will get started with building the framework of our program and initializing basic variables that we will need throughout the series. If you have any questions, do not hesitate to leave them in the comment section below.

      👉Subscribe to SteamCode! https://www.youtube.com/channel/UClLRjv91UloHweZMyxpRPrw

      👉Github: https://github.com/SteamCodeYT

      👉Patreon: https://www.patreon.com/steamcode

    Hé lộ các phương pháp chuyển đổi String sang Number trong Javascript

    • Tác giả: viblo.asia
    • Đánh giá: 5 ⭐ ( 7060 lượt đánh giá )
    • Khớp với kết quả tìm kiếm: Ok xin chào mọi người! Chém gió vậy thôi chứ các phương pháp có từ rất lâu và mình muốn gửi tới những bạn chưa có cơ hội được biết đến 😀 Bài trước mình có chia sẻ 1 chút về các cách kiểm tra [String...

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

    • Tác giả: itzone.com.vn
    • Đánh giá: 5 ⭐ ( 6521 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 ⭐ ( 1606 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. ...

    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á: 4 ⭐ ( 9295 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 đổi kiểu dữ liệu trong javascript

    • Tác giả: nguyenvanhieu.vn
    • Đánh giá: 4 ⭐ ( 8099 lượt đánh giá )
    • Khớp với kết quả tìm kiếm: Chuyển đổi kiểu dữ liệu trong javascript là gì ? Tại sao phải chuyển đổi ? Và chuyển đổi như thế nào ? Tất cả đã được giải quyết trong bài ..

    Chuyển Đổi Kiểu Dữ Liệu Thường Gặp Trong Javascript

    • Tác giả: codelearn.io
    • Đánh giá: 5 ⭐ ( 2774 lượt đánh giá )
    • Khớp với kết quả tìm kiếm: Chuyển đổi dữ liệu là gì? Bài viết này sẽ giới thiệu đến các bạn những cách chuyển đổi kiểu dữ liệu phổ biến trong Javascript.

    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  Cách tạo cửa sổ bật lên - làm thế nào để tạo một cửa sổ bật lên

    By ads_php