Der float Typ in Python repräsentiert die Gleitkommazahl. Float wird zur Darstellung reeller Zahlen verwendet und mit einem Dezimalpunkt geschrieben, der den ganzzahligen und den gebrochenen Teil teilt. Zum Beispiel sind 97,98, 32,3 + e18, -32,54e100 alle Gleitkommazahlen.

Python-Float-Werte werden als 64-Bit-Werte mit doppelter Genauigkeit dargestellt. Der Maximalwert, den eine Gleitkommazahl haben kann, beträgt ca. 1,8 x 10 308 . Jede größere Zahl wird durch die Zeichenfolge inf in Python angezeigt .

  
print(1.7e308) 
  
print(1.82e308) 

Ausgabe:

1,7e + 308
inf

Gleitkommazahlen werden in der Computerhardware als (binäre) Brüche der Basis 2 dargestellt. Zum Beispiel hat der Dezimalbruch 0,125 den Wert 1/10 + 2/100 + 5/1000, und auf die gleiche Weise hat der binäre Bruch 0,001 den Wert 0/2 + 0/4 + 1/8. Diese beiden Brüche haben identische Werte. Der einzige wirkliche Unterschied besteht darin, dass der erste in der Bruchnotation der Basis 10 und der zweite in der Basis 2 geschrieben ist.
Leider können die meisten Dezimalbrüche nicht genau als binäre Brüche dargestellt werden. Dies hat zur Folge, dass die von Ihnen eingegebenen dezimalen Gleitkommazahlen im Allgemeinen nur durch die tatsächlich in der Maschine gespeicherten binären Gleitkommazahlen angenähert werden.

Der float Typ implementiert die numbers.Realabstrakte Basisklasse. Gibt einen Ausdruck zurück, der in eine Gleitkommazahl konvertiert wird. float hat auch die folgenden zusätzlichen Methoden:



float.as_integer_ratio(): Gibt ein Paar von Ganzzahlen zurück, deren Verhältnis genau dem tatsächlichen Float mit positivem Nenner entspricht. Bei Unendlichkeiten werden Überlauffehler und Wertefehler bei Not a number (NaNs) ausgelöst.

  
def frac(d): 
      
    
    b = d.as_integer_ratio()  
      
    return 
if __name__=='__main__': 
    b = frac(3.5
    print(b[0], "/", b[1]) 

Ausgabe:

7/2

 
float.is_integer(): Gibt True zurück, falls die float-Instanz mit einem ganzzahligen Wert endlich ist, andernfalls False.

  
def booln(): 
      
    
    print((-5.0).is_integer()) 
    print((4.8).is_integer()) 
    print(float.is_integer(275.0)) 
  
if __name__=='__main__': 
    booln() 

Ausgabe:

Wahr
Falsch
Wahr

 
float.hex(): Gibt eine Darstellung einer Gleitkommazahl als hexadezimale Zeichenfolge zurück.

  
def frac(a):  
      
    
    a = float.hex(35.0) 
      
    return 
if __name__=='__main__': 
    b = frac(35.0
    print(b) 

Ausgabe:

'0x1.1800000000000p + 5'

 
float.fromhex (s): Gibt das Float zurück, das durch eine hexadezimale Zeichenfolge s dargestellt wird. Zeichenfolgen können führende und nachfolgende Leerzeichen haben.

  
def frac(a): 
      
    
    a = float.fromhex('0x1.1800000000000p+5') 
      
    return a 
      
if __name__=='__main__': 
    b = frac('0x1.1800000000000p+5'
    print(b) 

Ausgabe:

35.0

Hinweis: float.hex() ist eine Instanzmethode, float.fromhex() ist eine Klassenmethode.