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

ano*_*one 1 php string math exponent

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

string(..) "9.5367431640625e-05"
Run Code Online (Sandbox Code Playgroud)

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

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

9.5367431640625e-05 -> 9.5367431640625^-5 = calculated value
Run Code Online (Sandbox Code Playgroud)

如果php没有这样的功能,关于如何实现这个的最佳想法?我只是想模仿比赛

/^([0-9\.\-]+)e([0-9\.\-]+)$/
Run Code Online (Sandbox Code Playgroud)

任何更好的想法?

谢谢!

Kar*_*ath 5

做演员:

$float  = (float) $string;
Run Code Online (Sandbox Code Playgroud)


joh*_*nes 5

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

$float = (float)$string;
Run Code Online (Sandbox Code Playgroud)

但除了检查0(可能是一个有效的值......)之外,没有办法进行错误检查.您也可以使用floatval()相同的功能.

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