PHP以指数形式输出数字

当我输出我的一些双变量时,它们是使用fwrite以指数形式编写的.我可以在PHP中设置一些认值,无论何时显示(复制或存储)变量,它总是以十进制格式发生?

确切地说,当我在包含double值(不是指数形式)的json字符串上使用json_decode方法时会出现问题.转换对象后的双倍值变为指数.

解决方法:

假设数字在写入时仍然是浮点数(而不是字符串),这是一种方法

echo rtrim(sprintf("%0.15f", $x), "0.");

我不确定是否有更清洁的方式.但基本上这使用sprintf打印最多15个小数位,然后删除任何尾随0或.字符. (当然,并不能保证一切都会像你期望的那样用尾随零完美地舍入.)

如果你只想要一个固定的大小,那么你可以调整15并删除rtrim.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...