我有一些包含指数字符“E”的字母数字字符串的问题,这些字符串存储在“字符变化”列中的数据库中,因此是字符串,但是当我尝试在网页中将它们可视化时,我得到了一个“INF”字符串而不是原始字符串。 例如,以下“55E77583”(对我来说必须只是订单的代码编号)在网页中变为“INF”。 我试图搜索一个解决方案,我发现了sprintf和printf命令,但在尝试使用不同的%char组合后,我无法获得该字符串的原始形式。
$code = "55E77583";
echo sprintf('%s', $code);
//Gives me "INF"
$code = "55E77583";
printf('%s', $code);
//Gives me always "INF"
我确实需要以所有可能的字母数字组合获得字符串的原始形式。我该怎么办?
谢谢。
答案 0 :(得分:1)
如果我理解正确,您希望在网页上将值55E77583显示为字符串。您提供的上述代码就是这样。
所以不知何故你的变量必须先转换为double或float,这就是你接收INF的原因,因为这个数字太大而无法用PHP来处理。
通过回显
确保您的变量实际上是一个字符串echo gettype($code);
这很可能产生" double"。在您的选择过程中可能会发生类型转换。