In SQLite geben Divisionsoperationen normalerweise ganzzahlige Werte zurück, auch wenn mit Dezimalzahlen gearbeitet wird. Dies kann problematisch sein, wenn Sie präzise Ergebnisse erhalten möchten. Um dieses Problem zu lösen, ist es möglich, das Ergebnis auf einen realen Wert umzuwandeln.
Eine Methode, diese Konvertierung zu erreichen, besteht darin, eine der Zahlen mit 1,0 zu multiplizieren, wie unten gezeigt:
SELECT something*1.0/total FROM somewhere
Indem Sie eine der Zahlen mit 1,0 multiplizieren, erzwingen Sie eine Gleitkommadivision anstelle einer Ganzzahldivision. Dadurch wird sichergestellt, dass das Ergebnis ein präziser Dezimalwert ist, wie im folgenden Beispiel dargestellt:
sqlite> select totalUsers*1.0/totalBids from (select (select count(*) from Bids) as totalBids , (select count(*) from Users) as totalUsers) A; 1.0
Dieser Ansatz bietet eine einfache Möglichkeit, reelle Divisionsergebnisse in SQLite zu erhalten, sodass Sie genaue Berechnungen durchführen können Dezimalwerte.
Das obige ist der detaillierte Inhalt vonWie erhalte ich genaue Ergebnisse der Gleitkommadivision in SQLite?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!