Разделите цену в $ на частичный платеж (выпусков более 1000 в сумме)
Добрый вечер, чел.
Я закончил все кодирование и рекламу, где я покажу возможные способы для клиентов разделить оплату на 6 месяцев. Все хорошо, за исключением того, что у меня есть проблемы с выходом по новой цене, когда сумма больше 1000, я думаю, это из-за места?! в 1 000...?
Это код:
Pay over 6 months: <?php if ($price_calculate['price_wo_discount']>0) echo round( ($price_calculate['price_wo_discount'])*0.16); ?>
1 ответ
Если вы попытаетесь сделать что-то подобное в PHP,
echo round( '1 000' * 0.16);
Вы бы получили Notice: A non well formed numeric value encountered in ...
, Это связано с тем, что PHP не может безопасно привести строку к соответствующему числовому значению. Волшебно бросает строку в 0
и бросает уведомление. Вот почему вы получаете 0
выход.
В идеале вам нужно удалить все пробелы и запятые из вашей числовой строки, затем, возможно, использовать функцию is_numeric, чтобы определить, является ли ваша строка действительно числовой, а затем сделать round
,
Также неявный кастинг в вас if ($price_calculate['price_wo_discount'] > 0
блок может привести к некоторым побочным эффектам. Учтите это в PHP:
var_dump('1 is number' > 0); //outputs true
Мой совет: сначала используйте объекты-значения для проверки ваших входных данных.