Просто интересно в php, если бы можно было преобразовать строку в double. Я использую финансовый веб-сервис, который предоставляет цену как строку. Мне действительно нужно обработать это как двойное, и мне было интересно, как я его конвертирую
благодаря
Просто используйте floatval()
.
Например:
$var = '122.34343'; $float_value_of_var = floatval($var); echo $float_value_of_var; // 122.34343
И в случае, если вы doubleval()
о doubleval()
это просто псевдоним для floatval()
.
И, как говорят другие, в финансовом приложении значения float имеют решающее значение, поскольку они недостаточно точны. Например, добавление двух поплавков может привести к чему-то вроде 12.30000000001
и эта ошибка может распространяться.
Для произвольной математики точности PHP предлагает Binary Calculator, который поддерживает числа любого размера и точности, представленные в виде строк.
$s = '1234.13'; $double = bcadd($s,'0',2);
PHP: bcadd
Используйте doubleval()
. Но будьте очень осторожны с использованием десятичных знаков в финансовых транзакциях и очень внимательно проверяйте ввод этого пользователя.
Почему floatval – лучший вариант для финансовых сопоставительных данных? Функции bc точно верят строки в действительные числа.