WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Warning: number_format() expects parameter 2 to be long (https://www.wn.se/forum/showthread.php?t=1058482)

jake 2013-07-09 11:56

Warning: number_format() expects parameter 2 to be long
 
hej,
vid vissa händelser på sidan
http://www.glashusen.se/index.php?doc=cart

får jag felmeddelande:
Warning: number_format() expects parameter 2 to be long, string given in /home/u/u8976346/www/glashusen.se/tpl_include/item_cart.php on line 27

Warning: number_format() expects parameter 2 to be long, string given in /home/u/u8976346/www/glashusen.se/tpl_include/item_cart.php on line 28

där raderna 27 och 28 har utseende:

$cart["content"][$key]["price_str"] = number_format($item["price"], "", "", " ");

$cart["content"][$key]["price_total_str"] = number_format($item["price"]*$item["amount"], "", "", " ");

Vad behöver jag ändra?

pelmered 2013-07-09 12:02

Läs manualen: http://php.net/manual/en/function.number-format.php

Andra parametern är antal decimaler du vill ha i ditt formaterade nummer och den ska en Integer, dvs ett heltal, inte en tom sträng som du har i din kod.

jake 2013-07-09 14:13

Hej,
tack för snabbt svar.
Jag har nu läst manualen men då jag inte kodar php själv förstår jag ändå inte helt, trots ditt utförliga svar hur jag ska ändra i koden för att undvika felmeddelandet.
Någon som kan visa hur koden ska vara istället.

nosnaj 2013-07-09 14:38

För att inte få några decimaler:
$cart["content"][$key]["price_str"] = number_format($item["price"], 0, "", " ");
$cart["content"][$key]["price_total_str"] = number_format($item["price"]*$item["amount"], 0, "", " ");


Vill du ha 2 decimaler med punkt som avskiljare gör du i stil med:
$cart["content"][$key]["price_str"] = number_format($item["price"], 2, ".", " ");
$cart["content"][$key]["price_total_str"] = number_format($item["price"]*$item["amount"], 2, ".", " ");

jake 2013-07-09 15:39

tack för snabb hjälp ITisGood.se och nosnaj.
Det verkar fungera bra.


Alla tider är GMT +2. Klockan är nu 21:12.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson