Heim >Datenbank >MySQL-Tutorial >Wie erhalte ich genaue Ergebnisse der Gleitkommadivision in SQLite?

Wie erhalte ich genaue Ergebnisse der Gleitkommadivision in SQLite?

DDD
DDDOriginal
2024-12-19 11:58:091010Durchsuche

How to Get Accurate Floating-Point Division Results in SQLite?

So führen Sie eine Gleitkommadivision in SQLite durch

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn