有人可以演示变量近似以更简洁地回显最终变量结果吗?

  • 本文关键字:变量 结果 简洁 php floating-point
  • 更新时间 :
  • 英文 :


任何人都可以为我的变量求和提供替代答案,而不是浮点十进制结果,并且可以像在中间值中一样显示最终结果。确切地说是整数。

每个变量都以十进制表示法传递结果,最终值大于我使用计算器获得的实际笔到纸。

此 yeld secho $ter导致浮点值 43402777.777778。它应该更像是42,849,000而不是前者,后者的价值是我的笔和纸。问题是将最终值输出为非科学记数法。我需要直接的中间值。

$tan = 100000;
$g = 30;
$epp = 12;
$days = 365;
$bpe = 4;
$pp = 300;
$apg = $tan / $g; 
$epg = $apg / $bpe;
$ppg = $epg / $epp;
$ypr = $ppg * $pp;
$tep = $ppg * $g;
$ter = $ypr * $tep;
echo $ter;

与计算机科学中的典型情况一样,浮点运算也有其自身的一系列问题。

库通常可用,以提高精度。PHP 提供 BC Math 函数。

您的示例可以更改以使用此...

$tan = 100000;
$g = 30;
$epp = 12;
$days = 365;
$bpe = 4;
$pp = 300;
$apg = bcdiv($tan, $g); 
$epg = bcdiv($apg, $bpe);
$ppg = bcdiv($epg, $epp);
$ypr = bcmul($ppg, $pp);
$tep = bcmul($ppg, $g);
$ter = bcmul($ypr, $tep);
echo '$ter: ', $ter, PHP_EOL; // 42849000
echo 'Formatted: ', number_format($ter), PHP_EOL; // 42,849,000

演示 ~ https://3v4l.org/vlRaS

最新更新