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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Сложение 2-ух строковых переменных

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
r3m1x
Отправлено: 10 Марта, 2013 - 15:16:34
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




Здравствуйте! Есть 2 переменные:
PHP:
скопировать код в буфер обмена
  1. $a = "100.00 руб";
  2. $b = "200.00 руб";

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



Гость


Покинул форум
Сообщений всего: 90
Дата рег-ции: Июль 2012  


Помог: 0 раз(а)




Например,

PHP:
скопировать код в буфер обмена
  1.  
  2. $a="100"; //100 руб
  3. $b="200"; //200 руб
  4. $s=$a+$b; //сумма
  5. echo ("Ответ: $s рублей "); //вывод результата
  6.  

(Отредактировано автором: 10 Марта, 2013 - 15:31:50)

 
 Top
r3m1x
Отправлено: 10 Марта, 2013 - 15:38:51
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




Не совсем то... Переменная может быть и "100.00 грн" и "100.00 $"... И тип числа должен оставаться float.
 
 Top
OrmaJever Модератор
Отправлено: 10 Марта, 2013 - 15:51:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)






-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
r3m1x
Отправлено: 10 Марта, 2013 - 15:56:11
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




OrmaJever пишет:

Результат: "300"
Нужно: "300.00 руб"

(Отредактировано автором: 10 Марта, 2013 - 15:57:04)

 
 Top
OrmaJever Модератор
Отправлено: 10 Марта, 2013 - 16:02:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Ну как бы строки не плюсуются, я вам дал пример как равельно сложить числа, отформатировать их можно number_format(), и добавить валюту


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
armancho7777777 Супермодератор
Отправлено: 10 Марта, 2013 - 16:03:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




PHP:
скопировать код в буфер обмена
  1. $number = (float)$a + (float)$b;
  2. echo number_format($number, 2, '.', ' ');
 
 Top
DelphinPRO
Отправлено: 10 Марта, 2013 - 16:03:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




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


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
r3m1x
Отправлено: 10 Марта, 2013 - 16:16:00
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




armancho7777777, большое спасибо! Только еще как-то нужно "извлечь" валюту из "100.00 руб", подскажите пожалуйста.

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

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



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




r3m1x



-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
r3m1x
Отправлено: 11 Марта, 2013 - 14:16:59
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




snikers987
Спасибо!


К сожалению, это не совсем подходит, ведь кол-во знаков после запятой может быть и больше...
 
 Top
EuGen Администратор
Отправлено: 11 Марта, 2013 - 14:20:18
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




И как же это предполагается "сложить", например, "100 руб" и "50 USD"? Результат ведь явно будет не "150 руб" и не "150 USD" - а предполагаю все-таки, что по курсу обмена (ЦБ, например) - стало быть, вариативен в зависимости от времени исполнения скрипта, поскольку, очевидно, курс переменен.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Object
Отправлено: 11 Марта, 2013 - 15:56:01
Post Id


Гость


Покинул форум
Сообщений всего: 67
Дата рег-ции: Авг. 2010  


Помог: 3 раз(а)




r3m1x пишет:

К сожалению, это не совсем подходит, ведь кол-во знаков после запятой может быть и больше...
У Вас цена может быть указана с точностью до тысячных копейки и больше? Типа "100.584 руб.", "150.4584 руб." или я не правильно понял?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB