Подтвердить что ты не робот

Преобразовать строку в двойную - возможно ли это?

Просто интересно в php, если бы можно было преобразовать строку в double. Я использую финансовый веб-сервис, который предоставляет цену как строку. Мне действительно нужно обработать это как двойное, и мне было интересно, как я его конвертировал.

спасибо

4b9b3361

Ответ 1

Просто используйте floatval().

например:.

$var = '122.34343';
$float_value_of_var = floatval($var);
echo $float_value_of_var; // 122.34343

И если вы задаетесь вопросом doubleval(), это просто псевдоним для floatval().

И, как говорят другие, в финансовом приложении значения float имеют решающее значение, поскольку они недостаточно точны. Например. добавление двух поплавков может привести к чему-то вроде 12.30000000001, и эта ошибка может распространяться.

Ответ 2

Для произвольной математики точности PHP предлагает Binary Calculator, который поддерживает числа любого размера и точности, представленные в виде строк.

$s = '1234.13';
$double = bcadd($s,'0',2);

PHP: bcadd

Ответ 3

Используйте doubleval(). Но будьте очень осторожны в использовании десятичных знаков в финансовых транзакциях и тщательно проверяйте, что пользователь вводит очень.

Ответ 4

Почему floatval - лучший вариант для финансовых данных сравнения? Функции bc точно верят строки в действительные числа.