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?
Please also mark the comments that contributed to the solution of the article
Content-Key: 430184
Url: https://administrator.de/contentid/430184
Printed on: April 20, 2024 at 04:04 o'clock
4 Comments
Latest comment
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