Wie entferne ich mit Python alle Dezimalstellen aus einer Zahl?
Bei der Python-Programmierung ist es manchmal notwendig, alle Dezimalstellen aus einer Zahl zu entfernen, um die erforderliche Ausgabe zu erhalten. Diese Dezimalzahlen werden in Python auch Fließkommazahlen genannt. Grundsätzlich gibt es in Python 3 numerische Datentypen. Sie sind Ganzzahl(int()), Fließkommazahlen(float()) und komplexe(complex()) Datentypen. Die Typkonvertierung in Python hilft beim Konvertieren einer Dezimalzahl (Gleitkommazahl) in eine Ganzzahl. Die Konvertierung von float->int entfernt also alle Dezimalstellen aus einer Zahl.
Es gibt drei Methoden zum Entfernen aller Dezimalstellen aus einer Zahl mit Python
Methoden:
- Verwendung der int( )-Funktion
- Verwenden der Funktion trunc()
- Verwendung der split( )-Funktion
Methode 1: Verwendung von int( ) [Typkonvertierung] :
int( ) ist eine eingebaute Funktion, die verwendet wird, um jeden Wert in eine Ganzzahl umzuwandeln.
Python3
Number1 = 44.560 Number2 = 856.9785623 Number3 = 9999.99 # Type conversion float to int New_Number1 = int(Number1) New_Number2 = int(Number2) New_Number3 = int(Number3) print("Number1 = ", New_Number1) print("Number2 = ", New_Number2) print("Number3 = ", New_Number3) # type() function returns the data type print(type(Number1)) print(type(New_Number1))
Ausgabe :
Number1 = 44 Number2 = 856 Number3 = 9999 <class 'float'> <class 'int'>
Methode 2: Verwenden der Abschneidefunktion (trunc()):
Das math( )-Modul ist ein standardmäßig eingebautes Modul in Python. Im Modul math( ) sind zahlreiche mathematische Funktionen definiert. Um die truncate-Funktion zu verwenden, muss zuerst das mathematische Modul importiert werden, die Verwendung der trunc( )-Funktion ohne Definition des math( )-Moduls führt zu einem Fehler. Mit der Funktion math.trunc( ) kann eine Zahl in Python abgeschnitten werden.
Python3
# import math function to use trunc( ) function import math num1 = math.trunc(450.63) print(num1) print(math.trunc(999998.99999)) print(math.trunc(-89.99)) print(math.trunc(0.99))
Ausgabe :
450 999998 -89 0
Methode 3: Verwendung der Funktion split( ).
Die Funktion split( ) funktioniert nur mit Strings. Daher werden die Dezimalwerte mit der Funktion str( ) in einen String konvertiert und dann am Dezimalpunkt geteilt. Die Werte bleiben nach dem Ausführen der split( )-Funktion im String-Datentyp. Daher werden die Werte wieder in den Integer-Datentyp konvertiert.
Python3
value1 = [998.99, 56.8, 25.6, -52.0] # values are split at decimal point lst = [] for each in value1: lst.append(str(each).split('.')[0]) # all values converting to integer data type final_list = [int(i) for i in lst] print(final_list)
Ausgabe:
[998, 56, 25, -52]
Hinweis: Die Verwendung der Funktion int() zum Entfernen aller Dezimalwerte ist einfach und spart Zeit mit nur einer einzigen Codezeile.