Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Сложение 2-ух строковых переменных
Форумы портала PHP.SU » » Вопросы новичков » Сложение 2-ух строковых переменных

Страниц (1): [1]
 

1. r3m1x - 10 Марта, 2013 - 15:16:34 - перейти к сообщению
Здравствуйте! Есть 2 переменные:
PHP:
скопировать код в буфер обмена
  1. $a = "100.00 руб";
  2. $b = "200.00 руб";

Подскажите пожалуйста, как сложить эти переменные чтобы получить "300.00 руб"? Спасибо.
2. warma2d - 10 Марта, 2013 - 15:29:26 - перейти к сообщению
Например,

PHP:
скопировать код в буфер обмена
  1.  
  2. $a="100"; //100 руб
  3. $b="200"; //200 руб
  4. $s=$a+$b; //сумма
  5. echo ("Ответ: $s рублей "); //вывод результата
  6.  
3. r3m1x - 10 Марта, 2013 - 15:38:51 - перейти к сообщению
Не совсем то... Переменная может быть и "100.00 грн" и "100.00 $"... И тип числа должен оставаться float.
4. OrmaJever - 10 Марта, 2013 - 15:51:10 - перейти к сообщению
5. r3m1x - 10 Марта, 2013 - 15:56:11 - перейти к сообщению
OrmaJever пишет:

Результат: "300"
Нужно: "300.00 руб"
6. OrmaJever - 10 Марта, 2013 - 16:02:12 - перейти к сообщению
Ну как бы строки не плюсуются, я вам дал пример как равельно сложить числа, отформатировать их можно number_format(), и добавить валюту
7. armancho7777777 - 10 Марта, 2013 - 16:03:51 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $number = (float)$a + (float)$b;
  2. echo number_format($number, 2, '.', ' ');
8. DelphinPRO - 10 Марта, 2013 - 16:03:56 - перейти к сообщению
r3m1x, данные нужно хранить в удобном виде для манипулирования.
Числа - в виде чисел, а не строк.
9. r3m1x - 10 Марта, 2013 - 16:16:00 - перейти к сообщению
armancho7777777, большое спасибо! Только еще как-то нужно "извлечь" валюту из "100.00 руб", подскажите пожалуйста.

DelphinPRO пишет:
r3m1x, данные нужно хранить в удобном виде для манипулирования.
Числа - в виде чисел, а не строк.

Согласен. Улыбка Только я не объявляю эти переменные. Вот есть такие и все, приходится извиваться.
10. snikers987 - 10 Марта, 2013 - 16:25:37 - перейти к сообщению
r3m1x

11. r3m1x - 11 Марта, 2013 - 14:16:59 - перейти к сообщению
snikers987
Спасибо!


К сожалению, это не совсем подходит, ведь кол-во знаков после запятой может быть и больше...
12. EuGen - 11 Марта, 2013 - 14:20:18 - перейти к сообщению
И как же это предполагается "сложить", например, "100 руб" и "50 USD"? Результат ведь явно будет не "150 руб" и не "150 USD" - а предполагаю все-таки, что по курсу обмена (ЦБ, например) - стало быть, вариативен в зависимости от времени исполнения скрипта, поскольку, очевидно, курс переменен.
13. Object - 11 Марта, 2013 - 15:56:01 - перейти к сообщению
r3m1x пишет:

К сожалению, это не совсем подходит, ведь кол-во знаков после запятой может быть и больше...
У Вас цена может быть указана с точностью до тысячных копейки и больше? Типа "100.584 руб.", "150.4584 руб." или я не правильно понял?

 

Powered by ExBB FM 1.0 RC1