Jsonencode findet kommastellen wieder
Hallo,
ich habe folgenden PHP Code:
und ich erhalte folgende Ausgaben
Entweder bin ich sehr blind oder der Server ist fies zu mir....
Hat jemand eine Idee?
ich habe folgenden PHP Code:
$db->orderBy('sold_at','DESC');
$res = $db->get('transactions',1);
$rtn = array();
foreach($res as $line)
{
$entry = array();
$entry['pair'] = $line['pair'];
$entry['held'] = $line['sold_at'] - $line['buyed_at'];
$entry['buyprice'] = round($line['buyprice'],4);
$entry['sellprice'] = round($line['sellprice'],4);
$entry['profit'] = round((($line['sellprice'] / $line['buyprice']) -1) * 100,4) ;
$rtn = $entry;
}
echo '<pre>';
var_dump($rtn);
echo '</pre>';
$str = json_encode($rtn);
echo $str;
und ich erhalte folgende Ausgaben
array(1) {
=>
array(5) {
["pair"]=>
string(7) "BNBUSDT"
["held"]=>
int(2820)
["buyprice"]=>
float(15.2298)
["sellprice"]=>
float(15.497)
["profit"]=>
float(1.7545)
}
}
[{"pair":"BNBUSDT","held":2820,"buyprice":15.2297999999999991160848367144353687763214111328125,"sellprice":15.4969999999999998863131622783839702606201171875,"profit":1.7544999999999999484856516573927365243434906005859375}]
Entweder bin ich sehr blind oder der Server ist fies zu mir....
Hat jemand eine Idee?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 430184
Url: https://administrator.de/contentid/430184
Ausgedruckt am: 24.11.2024 um 17:11 Uhr
4 Kommentare
Neuester Kommentar
Hi,
ist ein bekanntes Problem mit der Float Precision bei json_encode.
Lies dir mal folgenden Link durch, da wird ein wenig auf darauf eingegangen:
https://stackoverflow.com/questions/42981409/php7-1-json-encode-float-is ...
Gruß
ist ein bekanntes Problem mit der Float Precision bei json_encode.
Lies dir mal folgenden Link durch, da wird ein wenig auf darauf eingegangen:
https://stackoverflow.com/questions/42981409/php7-1-json-encode-float-is ...
Gruß
Ja, Du hast Dir keine Gedanken zu Zahlendarstellungen im Computer und deren Auswirkungen gemacht Jede binäre Darstellung im Computer hat ihre Macken und man muß sich immer mit der Darstellung durch die Programmierprache beschäftigen und ggf. solche Fehler z.B. durch Runden abfangen oder andere Zahlendarstellungen benutzen.
lks