【问题标题】:How can I make a counter in PHP that counts up to 10 (including "first decimal-place" numbers)?如何在 PHP 中创建一个最多可计数 10 位的计数器(包括“第一个小数位”数字)?
【发布时间】:2013-12-06 18:22:42
【问题描述】:

我正在尝试制作一个 PHP 计数器,这就是我所拥有的:

<?PHP
    for ($i = 0; $i < 10; $i ++) {
    print "$i";
    }
?>

这是一个相当简单的计数器,但我想知道它是否也可以计算所有小数(只有一位小数),有什么办法可以做到吗?

这就是我想要的:

0.1,
0.2,
0.3,
...
9.8,
9.9,
10.0.

【问题讨论】:

  • 每个整数(整数)之间有无限个小数。你必须先决定你想要什么精度;即有多少位小数。
  • 你知道0到10之间有无数个十进制数吗?
  • 从 1 到 100 循环,除以 10 打印出来。

标签: php for-loop decimal counter


【解决方案1】:

不可能从 1 数到 10,包括所有小数。它们的数量将无限多。

但是,您可以数十分之一:

<?php
for ($i = 0; $i <= 10; $i+=0.1) {
print "$i\r\n";
}
?>

【讨论】:

  • 提醒:这个解决方案和您原始问题中的计数器实际上都不会在输出中包含“10.0”,正如您所说的是您的愿望。您必须使用 "$i
【解决方案2】:

您需要确定精度。假设您希望此练习的小数精度为 2 位小数(但这显然可以在代码中更改)。我的建议是简单地实现一个 0 到 1000 之间的整数计数器,然后将计数器值除以 100 以获得十进制值。

$decimal_precision = 2;
$counter_limit = 10;
$counter_ratio = (int)pow(10, $decimal_precision);
$integer_limit = $counter_limit * $counter_ratio;


for($i = 1; $i <= $integer_limit; $i++) {
    echo (float) $i / $counter_ratio;
}

【讨论】:

    猜你喜欢
    • 2019-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多