[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с выводом значения выражения на экран
do$
Приветствую.
Столкнулся с банальной проблемой, есть форма, в которую вносятся цифры, после нажатия на кнопку данные пересылаются php обработчику, но он чего не может вывести правильное значение. Ума не приложу где я накосячил.
Вот привожу маленький отрывок кода, чтобы не копаться во всем.

<form action="sdpt2.php" method="post">
Тариф за 1 кВТ эл. энергии: <input type="text" name="electricity" value="0,2802"><br />
<input
type="Submit" value="Рассчитать">
</form>



<?php
$electricity=$_POST['electricity'];
$totalliftelectricity=$electricity+1;

echo $electricity."<br />";
echo $totalliftelectricity. "<br />";
?>


Результатом данного запроса будет выведено две строки:
0,2802
1

Хотя должно быть 0,2802 и 1,2802

Пожалуйста помогите разобраться.
Игорь_Vasinsky
потому что десятичные дроби пишутся через точку.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Shkiper
<?php
$electricity=$_POST['electricity'];
$totalliftelectricity=str_replace(",", ".", $electricity);
$totalliftelectricity++;

echo $electricity."<br />";
echo $totalliftelectricity. "<br />";
?>
Игорь_Vasinsky
а не проще сразу в value формы поставить? biggrin.gif

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
do$
Цитата (Игорь_Vasinsky @ 14.03.2013 - 17:06)
потому что десятичные дроби пишутся через точку.

Спасибо - помогло, довольно странно у меня в форме есть поля с числовыми значениями с запятой и их код просчитывает нормально.

Хотел сразу еще один наводящий вопрос задать, возможно ли сделать, чтобы код преобразовывал запятые в коде в точки, чтобы расчет был верен. Как говорится защита от дурака, а то пользователь может ввести значение с запятой, и тогда код неправильно посчитает значения.
Игорь_Vasinsky
Цитата
str_replace(",", ".", $electricity);

или
strtr($var, array(','=>'.'));


но в данном случае и первый вариант будет работать

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.