Помощник
|
Суммирование цен. |
CandyDandy
|
Сообщение
#1
|
||
|
|
||
|
|||
adlic |
18.3.2011, 20:56;
Ответить: adlic
Сообщение
#2
|
|
Это если вам нужно сначала целое число:[PHP]$number="20.040";
$number2="20.067"; $num=$number*1000; $num2=$number2*1000;//перевели в целые числа $sum=$num+$num2; $total=$sum/1000; echo $total;[/PHP] Еще точку можно убрать: [PHP] $number="20.040"; $number = explode('.',$number);// разделяем строку до и после точки и две части заносим в массив $number = implode("",$number); //собираем все в одну строку[/PHP] |
|
|
PPA-pavel |
18.3.2011, 21:13;
Ответить: PPA-pavel
Сообщение
#3
|
|
[PHP]
<?php $num1 = '20.444'; $num2 = '34.500'; echo $num1 + $num2; ?> [/PHP] или я не понял что вы хотели?! |
|
|
adlic |
18.3.2011, 21:32;
Ответить: adlic
Сообщение
#4
|
|
|
|
|
NiKON_hb |
18.3.2011, 21:48;
Ответить: NiKON_hb
Сообщение
#5
|
|
[PHP]
<?php $one = "2.000"; $two = "34.000"; $int ["one"] ["do"] = intval ($one); $int ["one"] ["posle"] = substr ($one, -3); $int ["two"] ["do"] = intval ($two); $int ["two"] ["posle"] = substr ($two, -3); $int ["summ"] ["do"] = $int["one"] ["do"] + $int ["two"] ["do"]; $int ["summ"] ["posle"] = $int["one"] ["posle"] + $int ["two"] ["posle"]; if (strlen ($int ["summ"] ["posle"]) > 3) { $int ["summ"] ["do"] = $int ["summ"] ["do"] + 1; $int ["summ"] ["posle"] = "0" . substr ($int ["summ"] ["posle"], -2); } if ($int ["summ"] ["posle"] == "0") { $int ["summ"] ["posle"] = "000"; } echo $int ["summ"] ["do"] . "." . $int ["summ"] ["posle"]; ?> [/PHP] Проверил считает все... |
|
|
adlic |
18.3.2011, 21:54;
Ответить: adlic
Сообщение
#6
|
|
|
|
|
NiKON_hb |
18.3.2011, 21:55;
Ответить: NiKON_hb
Сообщение
#7
|
|
Апнул код постом выше...
Помоему верняк =) |
|
|
adlic |
18.3.2011, 22:01;
Ответить: adlic
Сообщение
#8
|
|
Апнул код постом выше... Уже лучше, но если символов после запятой будет не три, а 4 - то этот код нужно будет переделывать в корень. А у меня просто нолики добавить в двух местах. Зачем столько писать? PS. Числа типа [PHP]$one = "2.016"; $two = "34.051";[/PHP] оно складывает совершенно неправильно. |
|
|
NiKON_hb |
18.3.2011, 22:09;
Ответить: NiKON_hb
Сообщение
#9
|
|
[PHP]
<?php $one = "2.016"; $two = "34.051"; $int ["one"] ["do"] = intval ($one); $int ["one"] ["posle"] = substr ($one, -3); $int ["two"] ["do"] = intval ($two); $int ["two"] ["posle"] = substr ($two, -3); $int ["summ"] ["do"] = $int["one"] ["do"] + $int ["two"] ["do"]; $int ["summ"] ["posle"] = $int["one"] ["posle"] + $int ["two"] ["posle"]; if (strlen ($int ["summ"] ["posle"]) > 3) { $int ["summ"] ["do"] = $int ["summ"] ["do"] + 1; $int ["summ"] ["posle"] = "0" . substr ($int ["summ"] ["posle"], -2); } if (strlen ($int ["summ"] ["posle"]) < 3) { $int ["summ"] ["posle"] = "0" . substr ($int ["summ"] ["posle"], -2); } if ($int ["summ"] ["posle"] == "0") { $int ["summ"] ["posle"] = "000"; } echo $int ["summ"] ["do"] . "." . $int ["summ"] ["posle"]; ?> [/PHP] Поправил, думаю в этом случае нулей после запятой всегда 3 потому что это тысячи (цены)... |
|
|
adlic |
18.3.2011, 22:27;
Ответить: adlic
Сообщение
#10
|
|
Поправил, думаю в этом случае нулей после запятой всегда 3 потому что это тысячи (цены)... Вы на пути к лучшему, но ваш код по прежнему не считает, если количество символов у этих чисел разное, как до, так и после точки. Мой код считает все. Посчитайте у кого больше строк) - но это все нужно только если делать по заданию поста, то есть сначала в целое число переводить, а потом снова добавлять точку. Если же нет, то самым простым и правильным способом - это как написал Yah. |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
ExchangeRates.Pro: сравнение цен Bitcoin/Crypto обменников, бирж, P2P рынка 🚀 Поможем найти лучшие цены на обмен 34 криптовалют в 255 странах |
8 | ExchangeRatesPro | 3127 | 12.2.2020, 18:46 автор: ExchangeRatesPro |
|
Ищется программист. Создать калькулятор цен на сайте JS | DLE |
0 | Mukis | 1674 | 1.4.2019, 15:24 автор: Mukis |
|
Услуги парсинга данных: товаров, описаний, цен, отзывов. Короткие сроки. | 0 | Defaz_mw | 981 | 9.1.2019, 2:00 автор: Defaz_mw |
|
БУМ ЦЕН! Накрутка вк. 100 вступивших 6 рублей. Самые дешевые цены Репосты, лайки, подписчики |
22 | mirun | 19421 | 9.4.2015, 17:01 автор: nazar2292 |
|
Wordpress плагин сравнения цен под CPA (Admitad/Gdeslon) | 13 | Gforge | 10316 | 30.3.2015, 1:18 автор: Radichenko |
Текстовая версия | Сейчас: 19.4.2024, 23:23 |