我正在使用PHPExcel将一些数据导出到Excel中。除了导出将数字的最后三位数替换为零的奇怪行为外,一切正常。
例如,我有一个号码:876685900060999549
但是当导出时是这样的:876685900060999000
如您所见,只有最后三个数字被零代替。我已经尝试过使用setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_NUMBER ),但不幸的是,这没有奏效。
有人知道为什么只有最后三个数字被零取代,以及如何防止这一点吗?
发布于 2013-12-02 12:12:28
这些数字太大,不能用PHP (或MS )中的32位整数表示,因此,它们被转换为浮点数,从而造成相应的精度损失。
要解决这个问题,您需要强制将它们作为字符串值对待:您不显示代码,但是尝试使用setCellValueExplicit()强制数据类型为string
发布于 2013-12-02 12:13:11
也许这能帮上忙:phpExcel write long number in cell
您还可以查看INI的精度设置:ini_set(“精度”,"20");
https://stackoverflow.com/questions/20327992
复制相似问题