【问题标题】:four decimal zeros and no decimal point php四个小数零,没有小数点php
【发布时间】:2018-09-05 00:47:38
【问题描述】:

下面的代码应该格式化我在 mysql 中运行乘法以获取临时表中的数据后得到的数字。问题是乘法的结果不遵循格式。我希望将数字格式化为小数点后四位并保留零。

<?php
$tv = $row_cscs_report['TOTAL_VALUE'];
$vr = str_replace('.', '', $tv);
echo $vr;
?>

【问题讨论】:

  • 您可以使用带有 %f 格式的 sprintf 来实现这一点。 $vr = sprintf('%.04f', $tv);
  • 一些示例数据会有所帮助...
  • @ryantxr 如果您要回答这个问题,请将其作为答案发布。
  • 单行答案?看起来有点矫枉过正。
  • @Nick 恐怕这就是我通过样本数据得到的全部。上面的代码有效,但由于数据来自临时表,因此转换不起作用。

标签: php mysql string formatting


【解决方案1】:

您可以使用 number_format 执行此操作,指定 4 个小数位并告诉它小数点和千位分隔符都应该为空:

$tv = 3547.66;
echo number_format($tv, 4, '', '');

输出:

35476600

【讨论】:

  • 很高兴我能帮上忙! :)
【解决方案2】:

你可以这样写:

<?php
$tv = $row_cscs_report['TOTAL_VALUE'];
$vr = sprintf("%.4f", $tv);
echo $vr;
?>

参考: http://php.net/manual/pl/function.sprintf.php

【讨论】:

  • 感谢@Eboo,但此代码仍显示小数点。目的是删除小数点并保持四个零可见。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多