Autor | Zpráva | ||
---|---|---|---|
ondrej16556 Profil |
#1 · Zasláno: 7. 9. 2010, 16:10:32
Dobrý deň,
mám premennú textového typu obsahujúcu číslo a k tomu by som chcel pripočítať 1. Kód: <?php $rozdel = 01666666667; $kon_des_2 = substr($rozdel, 0, 2); $k = $kon_des_2+1; echo $k; ?> Ako by sa to dalo urobiť? |
||
Nox Profil |
#2 · Zasláno: 7. 9. 2010, 17:44:47
ondrej16556:
je ti jasné, že to $rozdel máš integer v osmičkové soustavě, že? (kvůli 0 na začátku) jinak by to mělo jít prostě +1, případně přetypovat na integer a pak přičíst (int)$cislo_v_textu intval($cislo_v_text) vzhledem k tomuto a předešlým tématům by bylo dobré kdybys nám řekl o co se celkově pokoušíš, co je účel tady těch hrátek s číslama |
||
ondrej16556 Profil |
#3 · Zasláno: 7. 9. 2010, 20:42:23
Nox:
1, Ďakujem, to mi pomohlo. 2, Pokúšam sa o vytvorenie browser hry ale databáza neberie desatinné čísla pri minútovom prepočte surovín, tak som sa to pokúšal spraviť takto: $kondrevo = $tdrevo/60;// delí hodinový prepočet na minútový(hodinový je v tomto prípade 10) $rozdel = explode(".",$kondrevo); // funkcia rozdeľuje celé čísla od desatinných pri prepočte while($pocet < count($rozdel)) { if($pocet == 0): // keď je počet=0, zapisujú sa celé čísla $kon_k = $rozdel[$pocet]+$drevo; mysql_query("UPDATE mapa SET drevo=$kon_k WHERE narod=$narod AND zem=$zem"); else: // inak desatinné $kon_des = substr($rozdel[$pocet], -2, 1); $kon_des_2 = substr($rozdel[$pocet], 0, 2); $k_des = substr($rozdel[$pocet], 0, 1); $k_des_2 = substr($rozdel[$pocet], -1, 2); if($kon_des == 5 || $kon_des == 6 || $kon_des == 7 || $kon_des == 8 || $kon_des == 9) {// zaokrúhľovanie na stotiny // keď je číslo na mieste tisícin väčšie ako 4, tak sa zaokrúhli a pripočíta sa číslo 1 $k = intval($kon_des_2); $k = $k+1; die($k."<br>".$kon_des_2."<br>".$rozdel[$pocet]); // skúšobný test, čo mi vypíše }/* od tade na tom ešte pracujem*/ if($k_des == 0 AND $k_des_2 == 1): /*$kon_d = $kon_des+$drevo_des;*/ endif; mysql_query("UPDATE mapa SET drevo_des=$kon_d WHERE narod=$narod AND zem=$zem"); endif; $pocet++; } |
||
Alphard Profil |
#4 · Zasláno: 7. 9. 2010, 20:52:23 · Upravil/a: Alphard
ondrej16556:
„ale databáza neberie desatinné čísla“ A řekl jste jí, že s nimi chcete pracovat? Datové typy float, double a decimal. Když se tak dívám na váš kód, znáte funkce jako round(), ceil(), floor()? Možná byste měl začít něčím lehčím a více studovat. |
||
Nox Profil |
#5 · Zasláno: 7. 9. 2010, 20:59:35
ondrej16556:
co třeba http://cz.php.net/manual/en/function.floatval.php ? možná http://cz.php.net/manual/en/function.strtr.php jestli by tam byl problém desetinná tečka X čárka |
||
ondrej16556 Profil |
#6 · Zasláno: 8. 9. 2010, 15:27:17
Alphard:
„A řekl jste jí, že s nimi chcete pracovat? Datové typy float, double a decimal.“ Ďakujem, to mi veľmi pomohlo. |
||
Časová prodleva: 14 let
|
0