Есть ли в php функция, которая анализирует показатели в строках (например, «9.5367431640625e-05») или это нужно делать вручную через регулярное выражение и т. д.? - PullRequest
1 голос
/ 01 сентября 2011

есть ли в php функция, которая преобразует строку (тип данных будет строковым, поскольку он анализируется из внешнего источника), например:

string(..) "9.5367431640625e-05"

и выполнить вычисления показателя степени для указанной строки и вернуть вычисленное значение?

или мне нужно использовать стиль regexp и т. Д., Чтобы сделать что-то вроде:

9.5367431640625e-05 -> 9.5367431640625^-5 = calculated value

если php не имеет такой функции, лучшие идеи как это сделать? я просто собирался подобрать что-то вроде

/^([0-9\.\-]+)e([0-9\.\-]+)$/

есть идеи получше?

спасибо!

Ответы [ 2 ]

5 голосов
/ 01 сентября 2011

Вы можете сделать простое приведение:

$float = (float)$string;

Но кроме проверки на 0 (что может быть допустимым значением ...), нет способа проверки ошибок.Вы также можете использовать функцию floatval(), которая делает то же самое.

Но обычно вам не нужно это делать, поскольку PHP будет разыгрываться по мере необходимости.Помните, что глава документации: http://de.php.net/manual/en/language.types.type-juggling.php

5 голосов
/ 01 сентября 2011

Выполнить приведение:

$float  = (float) $string;
...