Autor Zpráva
PITON
Profil
Ahoj prosim poradte mi, urobil som programn a pocitanie kvadrat. rovnic (myslim ze je uz celkom funkcny) ale chcel by som aby dokazal premenit desatinne cisla (napr. 0,32) zo vstupneho formulara na desatinne cisla s bodkou(napr. 0.32).Urobil som to asi tak:
$a=str_replace(",", ".", $a)

$b=str_replace(",", ".", $b)
$c=str_replace(",", ".", $c)

ale neviem kde to mam vlozit, skusal som to vlozit na viacere miesta ale nefunguje to. Zdrojovy kod je tu: piton.wz.cz/rovnica.txt
Marty
Profil
Funkčně je to napsané správně.

Za prvé bych data vždy z kraje, než s nimi budeš pracovat načetl asi nějak takto:

$promenaa = $_GET['a'];

A náhradu tečky bych vložil hned po tom, tedy někde před:

elseif ((is_numeric($a)== ...
mackopu
Profil
Podle mě je nejdříve nutno číselné proměnné přetypovat na integer...
settype($a, "integer");

settype($b, "integer");
settype($c, "integer");

... a pak s nimi dále pracovat pomocí str_replace(). Při dalších operacích by PHP už mělo samo rozeznat, že se jedná o čísla.
mackopu
Profil
Tak jinak, otestoval jsem toto a funguje to:
<?php

$a = "1,3";
$b = "2,5";
$c = "8,6";
$a=str_replace(",", ".", $a);
$b=str_replace(",", ".", $b);
$c=str_replace(",", ".", $c);
echo $a."<br>";
echo $b."<br>";
echo $c."<br>";
echo ($a+$b+$c); // mělo by vypsat 12.4
?>
Leo
Profil
number_format($cislo,2,",","");

Leo
PITON
Profil
Ale problem je v tom, ze neviem kde to mam dat! Lebo ked to dam na zaciatok, tak pise error ze premenna nieje definovana. Mozem to dat napr. takto?
elseif ($a=str_replace(",", ".", $a)

$b=str_replace(",", ".", $b)
$c=str_replace(",", ".", $c) )
Toto téma je uzamčeno. Odpověď nelze zaslat.

0