我有一个数据库表,其中有一个名为"format"的列,我将在其中放入指定的Sprintf值。
如果我想要科学价值,那么我只需要把'%E'
放在列中。但是我可以将这个值与rtrim十进制四舍五入合并吗?例如,如果我的值是
$number1 = 126;
echo(sprintf('%E', $number1));
我可以使用rtrim函数来取整E之前的尾随0,而不是获得1.260000E+2
,这样我的值就变成了1.26E+2
吗?
如果我的变量是
$number1 = 12666666;
那么我还是想把它打印成1.266667E+7.
你们有解决这个问题的好办法吗?
使用preg_replace():
echo(sprintf('%E', 126)); // 1.260000E+2
echo(preg_replace('/0+E/', 'E', sprintf('%E', 126))); // 1.26E+2
echo(preg_replace('/0+E/', 'E', sprintf('%E', 12666666))); // 1.266667E+7