将包含科学计数法数字的字符串转换为 PHP 中的普通字符串

Posted

技术标签:

【中文标题】将包含科学计数法数字的字符串转换为 PHP 中的普通字符串【英文标题】:Convert a string containing a number in scientific notation to a normal string in PHP 【发布时间】:2018-10-27 11:26:14 【问题描述】:

我需要帮助将包含科学计数法数字的字符串转换为普通字符串。 示例字符串:“9.1892E+11”到“918919850755”

【问题讨论】:

据我了解:9.1892E+11 = 918920000000 我使用了一些预定义的函数,例如:number_format、dechex 等,但没有得到准确的值。 @MadhurBhaiya 感谢您的快速响应,但号码是 918919850755。从 csv 单元格生成的科学字符串。 @MadhurBhaiya 希望你能理解。 【参考方案1】:

php 应该理解科学记数法。 通过减或加 0 什么的,它会变成一个正常的符号。

这样做可能会降低精度。 您可以将字符串转换为浮点数以防止这种情况发生。

$number = (float)$number;

【讨论】:

减去 0 得不到准确的数字。“918920000000” 你注意到我关于选角的答案更新了吗? 是的,我试过但得到相同的结果“918920000000”。 请看附件截图。 单元格中显示的值是条形图中值(和单元格实际值)的可视化表示,但它们并不相同。

以上是关于将包含科学计数法数字的字符串转换为 PHP 中的普通字符串的主要内容,如果未能解决你的问题,请参考以下文章

使用有限的类 C 库将科学计数法字符串中的数字转换为浮点数

将字符串格式的科学记数法转换为火花数据帧中的数字[重复]

pandas.read_csv 将字符串转换为科学记数法中的“数字”(我不想要)

SSIS CSV 导入:字符串转换为科学计数法

java代码怎么把科学计数法转换为具体数字

MongoDB以科学计数法将数字转换为字符串