Как убрать запятую в числе и как ее добавить?

Подключаю гейт для приема платежей, а именно Stripe

Появилась проблема, что Stripe цены понимает только в формате "2000" что равно "20.00 rub" или например "25865" - "258,65 rub".

У меня ценообразование следующее:

$price = $distance * $pricePerKm

и соответственно цена может быть "845,25"
Вариант решения округлять все.

Но для удобства клиентов, через сайт клиент оплачивает только 15% что приводит к дробным числам.

Как сделать так что если цена получаеться "345.45" ее можно было "скормить" Stripe как "34545" но при обратном выводе показывать 15% в виде "51.8"

Спасибо)5e0b2d17d14d7346372236.png
  • Вопрос задан
  • 118 просмотров
Решения вопроса 1
@IS-Builder
~ PHP-8 & REGEXP - This is a really powerful kit ~
Павел Воронюк
PHP
$str = '345.45';

$int = (int) str_replace('.', '', $str);
var_dump($int); // int(34545)

$float = preg_replace('~\d+\K(\d{2})$~', '.$1', $int);
$float = (float) number_format(($float * 0.15), 1, '.', '');
var_dump($float); // float(51.8)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
KickeRocK
@KickeRocK
FrontFinish
По такому принципу?
Да, сохранять в 2 переменные(одна - исходная, вторая преобразованная для страйпа)
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы