Проверка на съдържанието на променлива

maxaffey

Registered
Извинявам се за невежеството си, но съмзабравил как ставаше :oops:

Трябва ми като се въвежда една променлива тя да е число от типа: 111.11 и като се въведе без десетичната точка да дава грешка, а също и да не разрешава и написванетосъс запетая, защото изчисленията няма да станат точни, примерно да не е 111,11.

Няктде бях гледал такъв скрипт, но нещо немога да се сетя къде.

Мерси предварително.
 
значи ..
Код:
<?
$number = "123 4,5678";
$string = str_replace(",", ".", $number);
$string2 = str_replace(" ", "", $string);
$echo = number_format($string2, 2, '.', '');
echo $echo;
?>
трябва да заменя и " , " и празното място. :)
и закръгля до 2 цифри след запетаята.
 
bafitu каза:
значи ..
Код:
<?
$number = "123 4,5678";
$string = str_replace(",", ".", $number);
$string2 = str_replace(" ", "", $string);
$echo = number_format($string2, 2, '.', '');
echo $echo;
?>
трябва да заменя и " , " и празното място. :)
и закръгля до 2 цифри след запетаята.

Ми ако напише "Баба ми е като Лили Иванова!" ?
 
Код:
<?
$number = "Баба ми е като Лили Иванова!";
$string = str_replace(",", ".", $number);
$string2 = str_replace(" ", "", $string);
if (is_numeric($string2)){
$echo = number_format($string2, 2, '.', '');
echo $echo;} else { echo "Може и по-хубава да е";}
?>
 
bafitu каза:
Код:
<?
$number = "Баба ми е като Лили Иванова!";
$string = str_replace(",", ".", $number);
$string2 = str_replace(" ", "", $string);
if (is_numeric($string2)){
$echo = number_format($string2, 2, '.', '');
echo $echo;} else { echo "Може и по-хубава да е";}
?>

Това работи ли??? :)

Ето ти по трудния начин ама е тествано поне и има демо :p

Код:
<?
$string="Тука пишеш нещо за проба";


$string = str_replace(",", ".", $string); 

$string = str_replace(" ", "", $string);

if (!eregi ('^[0-9\.]+$',$string))
{ echo"Не сте попълнили коректно полето!";
exit;}

$string=sprintf("%.2f",$string);

echo $string;
?>


Демо:
http://admin.web-tourist.net/string.php


В интерес на истината ако на бафито кода работи по добре ползвай него.
По-практичен е.

ОСвен едно.
ТАм с това дето прави числото до 2-рия знак след десетичната.
Там моя код е по практичен.
Може да сглобиш нещо от двата. :p
 
хах точно се чудех дали със eregi няма да е по-добре :)
иначе моя скрипт на локалния си работи перфект.
А за 2рия знак то..може да се промени.
$echo = number_format($string2, 2, '.', '');
заменяш "2" в зависимост колко цифри искаш след запетаята :) :?:
 
bafitu каза:
хах точно се чудех дали със eregi няма да е по-добре :)
иначе моя скрипт на локалния си работи перфект.
А за 2рия знак то..може да се промени.
$echo = number_format($string2, 2, '.', '');
заменяш "2" в зависимост колко цифри искаш след запетаята :) :?:

БАчка перфектно.
 
Благодаря ви много и на двамата, нагласих нещо средно между вашите скриптове и се получи перфектно нещо.

:?: :D :?:
 

Горе