php - 如何得到整数的小数点

标签 php regex

我想获得费用的明细,但我知道小数点,它应该是我在下面填写的输出。请查看并检查我的代码是否有缺少。它确实可以帮助我很多。我将显示我的代码的输出。

$charge = 1600.50;
$base = 750;
$difference = $charge - $base;
$installment = $charge / 750;
$remainder = ($charge % 750);
$counter = 1;

if (is_float($charge)) {
    if($remainder == 0) {
        $count = 0;
        for ($i=1; $i <= round($installment); $i++) {
            $count = $count + 1;
            echo $base."\n";
        }
        if(is_float($charge)){
            $exploadedAmount = explode('.', $charge);
            echo "0.".$exploadedAmount[1];              
        }
    } else {
        $count = 0;
        for ($i=1; $i <= ceil($installment); $i++) { 
            $count = $count + 1;
            if($counter != ceil($installment)){
                echo $base."\n";
            }else{
                echo $remainder."\n";
            }
            $counter = $counter + 1;
        }
        if(is_float($charge)){
            $exploadedAmount = explode('.', $charge);
            echo "0.".$exploadedAmount[1];              
        }
    }
} else {
    if($remainder == 0){
        $count = 0;
        for ($i=1; $i <= ceil($installment); $i++) { 
            $count = $count + 1;
            echo $base."\n";
        }
    } else {
        if($difference < 0){
            echo $remainder."\n";
        } else {
            $count = 0;
            for ($i=1; $i <= ceil($installment); $i++) { 
                $count = $count + 1;
                if($counter != ceil($installment)){
                    echo $base."\n";                        
                }else{
                    echo $remainder."\n";
                }                   
                $counter = $counter + 1;
            }
        }
    }
}

这是我的代码的输出。

750
750
100
0.50

但是正确的输出应该是这样的。

750
750
100.50

希望有人能帮我解决这个问题。花了几周时间,但我无法解决这个问题。

最佳答案

我不知道我是否正确地面对了你的问题,但根据你想要的输出,以下内容就可以解决问题。

else{

    $count = 0;
    for ($i=1; $i <= ceil($installment); $i++) { 

        $count = $count + 1;

        if($counter != ceil($installment)){
            echo $base."\n";
        }else{

            // echo $remainder."\n"; 
            echo $remainder + $charge-floor($charge); // get fractial part of your $charge and add it to your remainder
        }
        $counter = $counter + 1;

    }

    /* unnecessary if-statement, is already checked by surrounding if-statement
    if(is_float($charge)){  
    */

    // echo 'TRUE';
    // $exploadedAmount = explode('.', $charge);
    // echo "0.".$exploadedAmount[1];              

    }
}

关于php - 如何得到整数的小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55808640/

相关文章:

php - 修改 All In One SEO pack 生成的元标签

php - preg_replace 仅匹配的一部分

regex - powershell:如何从字符串中转义所有正则表达式字符

php - UTF-8贯穿始终

php - 如何使用 PHP 动态添加 CSS 代码?

php - 将特定类别的帖子发送到 Laravel 中的 View

regex - 在 postgresql 中使用函数修改反向引用

c# - 字符串正则表达式不起作用

c++ - 如何让正则表达式匹配句子的中间?

c# - 哪个最适合中级 php 程序员开始编程(java vs c#)