Zaokrouhlení v presenteru

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
xciza
Člen | 194
+
0
-

Ahoj, jak v presenteru zaokrouhlím vypočtenou hodnotu například 509 682 na 509 700?
Zkusil jsem round($promenna) ale bez významu.

Jan Mikeš
Člen | 771
+
0
-

Tophle nema vpodstate nic spolecneho s nette.

$cislo = 509682
$nove_cislo = round($cislo, -2)
David Ďurika
Člen | 328
+
0
-

ukaz kod co presne si robil, zaokruhlovanie nema nic spolocne s presenterom… chybu mas niekde inde

Editoval achtan (31. 10. 2012 8:23)

xciza
Člen | 194
+
0
-

Počítám hodnotu kterou chci zaokrouhlit následovně, ale stejně nezaokrouhlí:

$CVY = $CC + $CO + $US + $CJvz;

$CVY = round($CVY, -2);

Kde hodnoty v proměnných, které se sčítají jsou počítány ještě výše, docela složitými výpočty.

A pak jen proměnnou $CVY posílám metodou do db.

Jan Mikeš
Člen | 771
+
0
-

Na chvilku sjem si myslel ze jsem ti poradil spatne, tak jsem to vyzkousel:

	protected function startup() {
		parent::startup();

		$number = 509682;
		var_dump($number);
		$new_number = round($number, -2);
		var_dump($new_number);
	}

Vystup:

int(509682)
float(509700)

Takze nevim kde delas chybu, navic toto opravdu nema nic spolecneho s nette :)

edit: kdyz uz tedy resime tento problem, napada me, ze tve $CVY neni int/float ale string a round() si s tim pravdepodobne neporadi, to je jedine co me napada, muzes vyzkouset jeste pretypovani $CVY a az potom ho zaokrouhlovat

Editoval Lexi (31. 10. 2012 10:46)

David Ďurika
Člen | 328
+
0
-

odhadujem to na zle nastaveny typ stlpca v DB

Tomas Jancik
Člen | 103
+
0
-

string by vadil nemel

$v = (string) 509682;
echo $v;
echo gettype($v);
echo round($v, -2);

vystup

509682
string
509700
Majkl578
Moderator | 1364
+
0
-

Vyhazuji, nesouvisí s Nette.