Làm thế nào để bạn làm tròn một số lên trong python?
Ghi chú. Hành vi của round(number, ndigits)8 đối với số float có thể gây ngạc nhiên. Thông báo round(number, ndigits)6 cung cấp cho round(number, ndigits)7 thay vì round(number, ndigits)8 dự kiến. Đây không phải là một lỗi. đó là kết quả của thực tế là hầu hết các phân số thập phân không thể được biểu diễn chính xác dưới dạng số float Show
Khi số thập phân round(number, ndigits)9 được chuyển đổi thành số dấu phẩy động nhị phân, nó lại được thay thế bằng một xấp xỉ nhị phân, có giá trị chính xác là 2.67499999999999982236431605997495353221893310546875 Do đó, nó được làm tròn xuống 2. 67 Nếu bạn đang ở trong tình huống cần độ chính xác này, hãy cân nhắc sử dụng mô-đun 0, được thiết kế cho số học dấu phẩy động Round() là một chức năng tích hợp sẵn với python. Nó sẽ trả về cho bạn một số float sẽ được làm tròn đến vị trí thập phân được cung cấp làm đầu vào Nếu các vị trí thập phân được làm tròn không được chỉ định, nó được coi là 0 và nó sẽ làm tròn đến số nguyên gần nhất Trong Hướng dẫn Python này, bạn sẽ học
cú phápround(float_num, num_of_decimals) Thông số
Sự mô tảPhương thức round() nhận hai đối số
Đối số thứ hai là tùy chọn và mặc định là 0 khi không được chỉ định và trong trường hợp đó, nó sẽ làm tròn thành số nguyên gần nhất và kiểu trả về cũng sẽ là một số nguyên Khi các vị trí thập phân, tôi. e. đối số thứ hai, có mặt, nó sẽ làm tròn đến số vị trí đã cho. Kiểu trả về sẽ là float Nếu số sau chữ số thập phân đã cho
Giá trị trả vềNó sẽ trả về một giá trị số nguyên nếu num_of_decimals không được cung cấp và giá trị float nếu num_of_decimals được cung cấp. Xin lưu ý rằng giá trị sẽ được làm tròn thành +1 nếu giá trị sau dấu thập phân >=5, nếu không, giá trị sẽ trả về giá trị tương ứng với các vị trí thập phân được đề cập Làm tròn có thể có bao nhiêu tác động?Ví dụ tốt nhất để cho thấy tác động của việc làm tròn là đối với thị trường chứng khoán. trong quá khứ tôi. e vào năm 1982, Sở giao dịch chứng khoán Vancouver (VSE). được sử dụng để cắt bớt giá trị cổ phiếu đến ba chữ số thập phân trên mỗi giao dịch Nó đã được thực hiện gần 3000 lần mỗi ngày. Việc cắt ngắn tích lũy dẫn đến mất khoảng 25 điểm mỗi tháng Một ví dụ về việc cắt bớt các giá trị so với làm tròn được hiển thị bên dưới Hãy coi các số dấu phẩy động được tạo bên dưới là giá trị cổ phiếu. Ngay bây giờ tôi đang tạo ra nó cho một loạt 1.000.000 giây giữa 0. 01 và 0. 05 ví dụarr = [random.uniform(0.01, 0.05) for _ in range(1000000)] Để hiển thị tác động của việc làm tròn, tôi đã viết một đoạn mã nhỏ trong đó lúc đầu, bạn cần sử dụng các số chỉ có 3 chữ số thập phân, tôi. e. cắt bớt số sau 3 chữ số thập phân Tôi có tổng giá trị ban đầu, tổng số đến từ các giá trị bị cắt bớt và sự khác biệt giữa giá trị ban đầu và giá trị bị cắt bớt Trên cùng một dãy số, tôi đã sử dụng phương thức round() đến 3 chữ số thập phân và tính tổng và hiệu giữa giá trị ban đầu và giá trị được làm tròn Dưới đây là ví dụ và đầu ra ví dụ 1________số 8đầu raTesting by using truncating upto 3 decimal places The original sum is = 29985.958619386867 The total using truncate = 29486.057 The difference from original - truncate = 499.9016193868665 Testing by using round() up to 3 decimal places The original sum is = 29985.958619386867 The total using round = 29985.912 The difference from original - round = 0.04661938686695066 Sự khác biệt giữa bản gốc và sau khi cắt bớt là 499. 9016193868665, và từ vòng, nó là 0. 04661938686695066 Sự khác biệt dường như rất lớn và ví dụ cho thấy cách phương thức round() giúp tính toán gần chính xác Thí dụ. Làm tròn số floatTrong chương trình này, chúng ta sẽ xem cách làm tròn chữ trên số thực round(number, ndigits)0 đầu ra round(number, ndigits)1 Thí dụ. Làm tròn giá trị số nguyênNếu bạn tình cờ sử dụng round() trên một giá trị số nguyên, nó sẽ trả lại cho bạn số đó mà không có bất kỳ thay đổi nào round(number, ndigits)2 đầu ra round(number, ndigits)3 Thí dụ. Làm tròn số âmHãy cho chúng tôi xem một số ví dụ về cách làm tròn hoạt động trên các số âm round(number, ndigits)4 đầu ra round(number, ndigits)5 Thí dụ. Mảng Numpy trònLàm cách nào để làm tròn các mảng có nhiều mảng trong python? Để giải quyết vấn đề này, chúng ta có thể sử dụng mô-đun numpy và sử dụng numpy. round() hoặc numpy. around(), như trong ví dụ bên dưới sử dụng numpy. vòng() arr = [random.uniform(0.01, 0.05) for _ in range(1000000)]0 đầu ra arr = [random.uniform(0.01, 0.05) for _ in range(1000000)]1 Chúng ta cũng có thể sử dụng numpy. around(), mang lại cho bạn kết quả tương tự như trong ví dụ bên dưới Thí dụ. Mô-đun thập phânNgoài hàm round(), python còn có module decimal giúp xử lý số thập phân chính xác hơn Mô-đun Thập phân đi kèm với các kiểu làm tròn, như hình bên dưới
Ở dạng thập phân, phương thức quantize() giúp làm tròn đến một số vị trí thập phân cố định và bạn có thể chỉ định cách làm tròn sẽ được sử dụng, như minh họa trong ví dụ bên dưới Có chức năng RoundUp trong Python không?Hàm Python round()
. Số thập phân mặc định là 0, nghĩa là hàm sẽ trả về số nguyên gần nhất.
Python có làm tròn 0 không. 5 tăng hay giảm?Trong Python, hàm round() làm tròn lên hay xuống? . Dành cho . Cho =0. 5, hàm round() làm tròn số về số chẵn gần nhất.
Python int làm tròn lên hay xuống?Trước tiên, bạn phải đánh giá xem số đó có bằng số nguyên của nó hay không, luôn làm tròn xuống . Nếu kết quả là True, bạn trả về số, nếu không, trả về số nguyên(số) + 1.
Round() có làm tròn lên hay xuống không?Làm tròn, Làm tròn và Làm tròn
. Mặt khác, hàm này làm tròn xuống. RoundDown luôn làm tròn xuống số thấp hơn trước đó, về 0. RoundUp luôn làm tròn đến số cao hơn tiếp theo, cách xa số 0. Round rounds up if the next digit is 5 or higher. Otherwise, this function rounds down. RoundDown always rounds down to the previous lower number, towards zero. RoundUp always rounds up to the next higher number, away from zero. |