Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Python

Python round() fungsi dengan CONTOH

Putaran()

Round() adalah fungsi bawaan yang tersedia dengan python. Ini akan mengembalikan Anda angka float yang akan dibulatkan ke tempat desimal yang diberikan sebagai input.

Jika tempat desimal yang akan dibulatkan tidak ditentukan, itu dianggap sebagai 0, dan akan dibulatkan ke bilangan bulat terdekat.

Dalam Tutorial Python ini, Anda akan belajar:

Sintaks:

round(float_num, num_of_decimals)

Parameter

Deskripsi

Metode round() membutuhkan dua argumen

Argumen kedua adalah opsional dan default ke 0 jika tidak ditentukan, dan dalam kasus seperti itu, argumen akan membulatkan ke bilangan bulat terdekat, dan tipe yang dikembalikan juga akan berupa bilangan bulat.

Ketika tempat desimal, yaitu argumen kedua, hadir, itu akan membulatkan ke jumlah tempat yang diberikan. Jenis yang dikembalikan akan berupa float.

Jika angka setelah tempat desimal diberikan

Mengembalikan nilai

Ini akan mengembalikan nilai integer jika num_of_decimals tidak diberikan dan nilai float jika num_of_decimals diberikan. Harap perhatikan bahwa nilai akan dibulatkan menjadi +1 jika nilai setelah titik desimal>=5 jika tidak maka akan mengembalikan nilai sesuai dengan tempat desimal yang disebutkan.

Seberapa Besar Dampak Pembulatan? (Pembulatan vs Pemotongan)

Contoh terbaik untuk menunjukkan dampak pembulatan adalah untuk pasar bursa saham. Di masa lalu yaitu pada tahun 1982, Bursa Efek Vancouver (VSE):digunakan untuk memotong nilai saham menjadi tiga tempat desimal pada setiap perdagangan.

Itu dilakukan hampir 3000 kali setiap hari. Akumulasi pemotongan menyebabkan hilangnya sekitar 25 poin per bulan.

Contoh pemotongan nilai versus pembulatan ditunjukkan di bawah ini.

Pertimbangkan angka floating-point yang dihasilkan di bawah ini sebagai nilai saham. Saat ini saya membuatnya untuk rentang

1.000.000 detik antara 0,01 dan 0,05.

Contoh:

arr = [random.uniform(0.01, 0.05) for _ in range(1000000)]

Untuk menunjukkan dampak pembulatan, saya telah menulis sepotong kecil kode di mana pada awalnya, Anda perlu menggunakan angka hingga hanya 3 tempat desimal, yaitu memotong angka setelah 3 tempat desimal.

Saya memiliki nilai total asli, total yang berasal dari nilai terpotong dan perbedaan antara nilai asli dan terpotong.

Pada kumpulan angka yang sama, saya telah menggunakan metode round() hingga 3 tempat desimal dan menghitung jumlah dan selisih antara nilai asli dan nilai yang dibulatkan.

Berikut adalah contoh dan outputnya

Contoh 1

import random

def truncate(num):
    return int(num * 1000) / 1000

arr = [random.uniform(0.01, 0.05) for _ in range(1000000)]
sum_num = 0
sum_truncate = 0
for i in arr:
    sum_num = sum_num + i        
    sum_truncate = truncate(sum_truncate + i)
    
print("Testing by using truncating upto 3 decimal places")
print("The original sum is = ", sum_num)
print("The total using truncate = ", sum_truncate)
print("The difference from original - truncate = ", sum_num - sum_truncate)

print("\n\n")
print("Testing by using round() upto 3 decimal places")
sum_num1 = 0
sum_truncate1 = 0
for i in arr:
    sum_num1 = sum_num1 + i        
    sum_truncate1 = round(sum_truncate1 + i, 3)


print("The original sum is =", sum_num1)
print("The total using round = ", sum_truncate1)
print("The difference from original - round =", sum_num1 - sum_truncate1)

Keluaran:

Testing 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

Selisih antara asli dan setelah dipotong adalah 499.9016193868665, dan dari putaran adalah 0,04661938686695066

Perbedaannya tampak sangat besar, dan contoh menunjukkan bagaimana metode round() membantu dalam menghitung mendekati akurasi.

Contoh:Pembulatan Angka Float

Dalam program ini, kita akan melihat bagaimana pembulatan kata pada bilangan mengambang

# testing round() 

float_num1 = 10.60 # here the value will be rounded to 11 as after the decimal point the number is 6 that is >5 

float_num2 = 10.40 # here the value will be rounded to 10 as after the decimal point the number is 4 that is <=5

float_num3 = 10.3456 # here the value will be 10.35 as after the 2 decimal points the value >=5 

float_num4 = 10.3445 #here the value will be 10.34 as after the 2 decimal points the value is <5 

print("The rounded value without num_of_decimals is :", round(float_num1))
print("The rounded value without num_of_decimals is :", round(float_num2))
print("The rounded value with num_of_decimals as 2 is :", round(float_num3, 2))
print("The rounded value with num_of_decimals as 2 is :", round(float_num4, 2))

Keluaran:

The rounded value without num_of_decimals is : 11
The rounded value without num_of_decimals is : 10
The rounded value with num_of_decimals as 2 is : 10.35
The rounded value with num_of_decimals as 2 is : 10.34

Contoh:Membulatkan Nilai Integer

Jika Anda menggunakan round() pada nilai integer, itu hanya akan mengembalikan nomor Anda tanpa perubahan apa pun.

# testing round() on a integer

num = 15

print("The output is", round(num))

Keluaran:

The output is 15

Contoh:Pembulatan pada Angka Negatif

Mari kita lihat beberapa contoh cara kerja pembulatan pada bilangan negatif

# testing round()

num = -2.8
num1 = -1.5
print("The value after rounding is", round(num))
print("The value after rounding is", round(num1))

Keluaran:

C:\pythontest>python testround.py
The value after rounding is -3
The value after rounding is -2

Contoh:Array Bulat Numpy

Bagaimana cara membulatkan array numpy dengan python?

Untuk mengatasinya, kita dapat menggunakan modul numpy dan menggunakan metode numpy.round() atau numpy.around(), seperti yang ditunjukkan pada contoh di bawah ini.

Menggunakan numpy.round()

# testing round()
import numpy as np

arr = [-0.341111, 1.455098989, 4.232323, -0.3432326, 7.626632, 5.122323]

arr1 = np.round(arr, 2)

print(arr1)

Keluaran:

C:\pythontest>python testround.py
[-0.34  1.46  4.23 -0.34  7.63  5.12]

Kami juga dapat menggunakan numpy.around(), yang memberi Anda hasil yang sama seperti yang ditunjukkan pada contoh di bawah ini.

Contoh:Modul Desimal

Selain fungsi round(), python memiliki modul desimal yang membantu menangani angka desimal dengan lebih akurat.

Modul Desimal dilengkapi dengan tipe pembulatan, seperti yang ditunjukkan di bawah ini :

Dalam desimal, metode quantize() membantu membulatkan ke sejumlah tempat desimal yang tetap, dan Anda dapat menentukan pembulatan yang akan digunakan, seperti yang ditunjukkan pada contoh di bawah ini.

Contoh:

Menggunakan metode bulat() dan desimal

import  decimal 
round_num = 15.456

final_val = round(round_num, 2)

#Using decimal module
final_val1 = decimal.Decimal(round_num).quantize(decimal.Decimal('0.00'), rounding=decimal.ROUND_CEILING)
final_val2 = decimal.Decimal(round_num).quantize(decimal.Decimal('0.00'), rounding=decimal.ROUND_DOWN)
final_val3 = decimal.Decimal(round_num).quantize(decimal.Decimal('0.00'), rounding=decimal.ROUND_FLOOR)
final_val4 = decimal.Decimal(round_num).quantize(decimal.Decimal('0.00'), rounding=decimal.ROUND_HALF_DOWN)
final_val5 = decimal.Decimal(round_num).quantize(decimal.Decimal('0.00'), rounding=decimal.ROUND_HALF_EVEN)
final_val6 = decimal.Decimal(round_num).quantize(decimal.Decimal('0.00'), rounding=decimal.ROUND_HALF_UP)
final_val7 = decimal.Decimal(round_num).quantize(decimal.Decimal('0.00'), rounding=decimal.ROUND_UP)

print("Using round()", final_val)
print("Using Decimal - ROUND_CEILING ",final_val1)
print("Using Decimal - ROUND_DOWN ",final_val2)
print("Using Decimal - ROUND_FLOOR ",final_val3)
print("Using Decimal - ROUND_HALF_DOWN ",final_val4)
print("Using Decimal - ROUND_HALF_EVEN ",final_val5)
print("Using Decimal - ROUND_HALF_UP ",final_val6)
print("Using Decimal - ROUND_UP ",final_val7)

Keluaran:

Using round() 15.46
Using Decimal - ROUND_CEILING  15.46
Using Decimal - ROUND_DOWN  15.45
Using Decimal - ROUND_FLOOR  15.45
Using Decimal - ROUND_HALF_DOWN  15.46
Using Decimal - ROUND_HALF_EVEN  15.46
Using Decimal - ROUND_HALF_UP  15.46
Using Decimal - ROUND_UP  15.46

Ringkasan:


Python

  1. Fungsi Python Anonim/Lambda
  2. Generator Python
  3. Penutupan Python
  4. Dekorator Python
  5. Operator C++ Overloading dengan Contoh
  6. Fungsi C++ dengan Contoh Program
  7. Pernyataan Python Print():Cara Mencetak dengan Contoh
  8. Python String strip() Fungsi dengan CONTOH
  9. Python String count() dengan CONTOH
  10. Format String Python() Jelaskan dengan CONTOH