wpforge
Goto Top

Jsonencode findet kommastellen wieder

Hallo,
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?

Content-ID: 430184

Url: https://administrator.de/contentid/430184

Ausgedruckt am: 24.11.2024 um 17:11 Uhr

Cenion
Lösung Cenion 19.03.2019 um 23:59:54 Uhr
Goto Top
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ß
Lochkartenstanzer
Lochkartenstanzer 20.03.2019 um 06:01:32 Uhr
Goto Top
Zitat von @WPFORGE:

Hat jemand eine Idee?

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
Penny.Cilin
Penny.Cilin 20.03.2019 um 11:06:44 Uhr
Goto Top
Hallo,

was ist den Jsonencode???
Ist das eine neue Joghurtart, oder hat das was mit Zylonen zu tun?

Gruss Penny
WPFORGE
WPFORGE 26.03.2019 um 14:01:53 Uhr
Goto Top
Nein das ist die nicht mögliche Darstellung eines Unterstrichs und Klammern in der Überschrift. ;)
IM hinterlegten Code kann man aber ganz gut sehen, was gemeint ist.