@viktorross

Проблема при вычитании?

здравствуйте, не могу разобраться в чем проблема, не работает вычитание меньшего из большего числа. Например скрипт считает 1,500.00 меньше чем 900.00. Но допустим 999,00 меньше чем 900.00 не считает и нормально высчитывает все.

Вот кусок кода который должен

require_once "include/include.php";
require_once "classes/coupons.php";
require_once "classes/priorities.php";
require_once "classes/validator.php";
require_once "classes/users.php";
require_once "classes/payment_processors.php";
else { 

			$processor = escape($_POST['processor']);

			$found=0;
			$processors = new payment_processors();
			$payment_processors = $processors->getActivePaymentProcessors();
			foreach ($payment_processors as $p) if($p['processor_code'] == $processor) { 
				$found=1;
			}

			if($processor=="credits") {

				$needed_credits = $amount/$credits_settings['unit'];
				$needed_credits = format_price($needed_credits, '', '', '.');
				$current_credits = credits::creditsForUser($crt_usr);

				if($needed_credits>$current_credits) { 

					$ret['error']=$lng['credits']['not_enough_credits']; 
					$ret['response'] = 0; 
					
					global $appearance_settings;
					if(strtolower($appearance_settings['charset'])!="utf-8") $ret = utf8_encode_all($ret);

					echo json_encode($ret);
					exit(0);

				}
			}

			if(!$found && ($processor != "credits" || !$allowed)) { 

				$ret['error'] = $lng['buy_package']['error']['invalid_processor']; 
				$ret['response'] = 0;
				
				global $appearance_settings;
				if(strtolower($appearance_settings['charset'])!="utf-8") $ret = utf8_encode_all($ret);

				echo json_encode($ret);
				exit(0);

			}

Выводится в шаблон так через smarty 

<code>
<span class="price">{$current_credits}</span>
</code>


Куда копать , в чем может быть проблема?
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Проблема в том, что вы пытаетесь выполнять арифметические действия и сравнивать СТРОКИ, а не числа.

https://www.php.net/manual/ru/function.floatval.php
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽