SQL auf 2 Nachkommastellen runden?
Guten Tag
Ich bin gerade dabei eine Website zu programmieren, die Daten einer Datenbank abfrägt. Eine der Angaben ist der aktuelle Solana-Preis. Meine Frage ist jetzt, wie ich dies auf zwei Nachkommastellen runden kann. Hier der Code:
query(
"SELECT ROUND (price) as prices FROM cryptos where name = 'Solana' order by created_at desc",
(data) => {
document.querySelector(".solprice1").textContent = data[0].prices;
} );
Freundliche Grüsse
2 Antworten
Ich kenne mich nicht so wirklich mit JavaScript aus, aber entweder gibt es eine Funktionalität wie
Math.round(Zahl*100)/100
oder
Math.round(Zahl,2)
Das müsstest du online mal nachschlagen. Ansonsten bleiben zur Not auch noch Math.floor oder Math.ceil:
Math.floor(Zahl*100+0.5)/100
Math.floor() rundet zur nächsten Ganzzahl ab. Zunächst multiplizieren wir mit 100 um die 2 Nachkommastellen zur Ganzzahl hinzuzufügen. Danach addieren wir noch mit 0.5, da es wie erwähnt abrundet. Wir müssen also dafür sorgen, dass die Zahl zur nächstgrößeren Ganzzahl wird, sollte die Stelle nach dem Komma >= 5 sein.
Danach teilen wir wieder durch 100 um die Ganzzahl wieder zurück zu ursprünglichen Zahl mit 2 Nachkommastellen zu verwandeln.
Wenn du also die Zahl 1234,567 hättest, dann würde der Computer so vorgehen
1234,567 * 100 = 123456,7
123456,7 + 0,5 = 123457,2
123457,2 -> auf Ganzzahl runterrunden 123457
123457 / 100 = 1234,57
und die Zahl 1234,57 ausgeben.
Alternativ geht natürlich auch der Weg über Math.ceil() was immer zur nächsten Ganzzahl aufrundet. Also das Selbe in grün:
Math.ceil(Zahl*100-0.5)/100
Javascript bietet dafür die schöne Funktion "toFixed()" an:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed