将9.78960040953E + 12转换为PHP中的string

我正在使用Excel Reader来parsingExcel文档。 该文件包含ISBN( 978960040953 ),读者返回9.78960040953E+12

我已经将Excel列types设置为text ,但没有运气。 我也尝试使用(string)strval() ,但仍然没有运气。

一种select是将该值相乘,使其成为整数,但ISBN和ISBN13具有不同的大小。

任何人都可以帮我把9.78960040953E+12转换成978960040953

使用floatval和(string)types转换。 http://codepad.org/M87DDiXy

 <?php $a = "9.78960040953E+12"; $b = (string) floatval($a); var_dump($b); ?> Output: string(13) "9789600409530" 

您可以使用函数strval()将该值转换为string。 看看手册 。

然后,你可以很容易地使用string函数(例如str_replacesubstr() )来操作string以获得所需的确切值。

 $str = strval($number); $str = str_replace('.', '', $str); $str = substr($str, 0, 12); var_dump($str); //Output: string(12) "978960040953" 
 $str = number_format($number, 0, '.', ''); 

在Excel表格中使用特殊的格式(以邮政编码)为例。