【问题标题】:Print decimal numbers in php在php中打印十进制数字
【发布时间】:2018-08-02 13:35:14
【问题描述】:

我如何打印十进制数字,例如

0.05

0.10

0.15

0.20

0.25

0.30

0.35

0.40

0.50

.

.

.

1.25

用下面的代码试过了,还是不行

     <?php
      $start = 1;
      $end = 3;
      $place = 0.5;

      $step = 0.05 / pow(10, $place);

      for($i = $start; $i <= $end; $i = round($i + $step, $place))
      {
          echo $i . "\n";
      }

      ?>

【问题讨论】:

  • 为什么要在0.10之前输出0.5?在 0.40 和 0.50 之间(第二次)你有 0.10 步所有其他除了第一次是 0.05
  • @Andreas 我需要给每个数字加 0.05

标签: php


【解决方案1】:

您可以构建所需值的范围。
在这里,我从 0 -> 5 创建,增量为 0.05。

$range = range(0, 5, 0.05);

foreach($range as $val){
    echo number_format($val, 2) . "\n";
}

https://3v4l.org/lFV2f

如果小数不重要,更简单的输出方法是使用 implode。

echo implode("\n", $range);

【讨论】:

  • 结果不是这样 0.40 0.50
  • @Sakezzz OP 在我的评论中尚未对此作出回应。但很可能这也是一个错字。编辑我看到他确实回答了。 我需要给每个数字加 0.05
【解决方案2】:

从字面上理解这个问题,这里有一个解决方法。

$start = 0.05;
$increment = 0.05;
for ($i=0; $i < 25; $i++) { 
    echo number_format($start, 2, '.', '').'<br>';
    $start += $increment;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-19
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    • 2014-06-24
    • 1970-01-01
    • 1970-01-01
    • 2013-12-13
    相关资源
    最近更新 更多