php有一个解析字符串中指数的函数(例如:“9.5367431640625e-05”)还是必须通过regexp等手动完成?

时间:2011-09-01 13:35:17

标签: php string math exponent

php有一个函数将转换一个字符串(数据类型将是字符串,因为它从外部源解析),如:

string(..) "9.5367431640625e-05"

并对所述字符串执行指数计算并返回计算值?

或者我是否需要使用regexp等样式方式来执行以下操作:

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

如果php没有这样的功能,关于如何实现这个的最好的想法?我只是打算像

这样的模式匹配
/^([0-9\.\-]+)e([0-9\.\-]+)$/

任何更好的想法?

谢谢!

2 个答案:

答案 0 :(得分:5)

做演员:

$float  = (float) $string;

答案 1 :(得分:5)

你可以做一个简单的演员:

$float = (float)$string;

但除了检查0(可能是有效值...)之外,无法进行错误检查。您也可以使用同样的floatval()函数。

但通常你不必这样做,因为PHP会根据需要进行投射。记住文档的这一章:http://de.php.net/manual/en/language.types.type-juggling.php