Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中删除十进制数的最后一位_Php - Fatal编程技术网

如何在PHP中删除十进制数的最后一位

如何在PHP中删除十进制数的最后一位,php,Php,我想删除PHP中十进制数的最后一位。 假设我有14.153。我希望是14点15分。我将执行此步骤,直到我的数字不再是十进制 echo round(14.153, 2); // 14.15 舍入秒参数设置位数。您可以试试这个 <?php $number = 14.153; echo number_format($number,2); 我认为这应该有效: <?php $num = 14.153; $strnum = (string)$num; $parts = ex

我想删除PHP中十进制数的最后一位。 假设我有14.153。我希望是14点15分。我将执行此步骤,直到我的数字不再是十进制

echo round(14.153, 2);  // 14.15
舍入秒参数设置位数。

您可以试试这个

<?php

  $number = 14.153;

  echo number_format($number,2);

我认为这应该有效:

<?php
$num = 14.153;
$strnum = (string)$num;

$parts = explode('.', $num);
// $parts[0] = 14;
// $parts[1] = 153;

$decimalPoints = strlen($parts[1]);
// $decimalPoints = 3

if($decimalPoints > 0)
{
    for($i=0 ; $i<=$decimalPoints ; $i++)
    {
        // substring($strnum, 0, 0); causes an empty result so we want to avoid it
        if($i > 0)
        {
            echo substr($strnum, 0, '-'.$i).'<br>';
        }
        else
        {
            echo $strnum.'<br>';
        }
    }
}
?>


您是否需要一次执行一位数字,或者如果您同时执行所有操作,它是否也可以工作?请尝试使用
number\u format()
round()
?或者我不理解这个?我需要一次一次的算法。
number\u format()
返回一个字符串
round()
如果你要做进一步的数学计算,那将是更好的选择。如果你不做进一步的计算,你甚至可以使用substring。由于OP需要多次执行此操作,因此展示一种适合小数位数的方法可能会有所帮助,而不是硬编码2恐怕这会将数字四舍五入到第二个小数位数。由于OP需要多次执行此操作,显示适合小数位数的方法可能会有所帮助,而不是硬编码2恐怕这会将数字四舍五入到第二个小数位数。这是四舍五入,而不是按照OP的要求“删除”最后一个小数。编辑以考虑所有小数点的原始浮点。