PHP自动将价格转换为99而不是100

时间:2014-11-19 12:20:10

标签: php rounding

我有不同的价格:

100
550
799
1200
350

想知道我如何自动将它们转换为

99
549
799
1200
349

我只做-1,但有些已经像799那样正确了,我不希望它是798。

不能想办法做这个转换我对PHP很好,但对数学不好。我打赌我们需要找到它是否除以2如果是,则减去1如果不是则不做任何事情。

if ($price % 2) {
   $price = intval($price) - 1;
}

这是最好的方法吗?

3 个答案:

答案 0 :(得分:2)

你可以这样做:

if (($price % 50) == 0)
{
    $price--;
}

每次50的模数等于零(任何以“50”或“100”结尾的数字都是如此),它将删除一个。

如果您想要定价更高或更低的价格,请更改第二个值(在这种情况下为50)。

答案 1 :(得分:1)

这样的东西?

if(($price % 10) == 0) {
    $price--;
}

答案 2 :(得分:1)

由于您不想拥有798,因此您的代码无效

但你可以使用它。

if ($price % 10) {
   $price = intval($price) - 1;
}

799 % 2 = 1
800 % 2 = 0
798 % 2 = 0

799 % 10 = 0
800 % 10 = 1
798 % 10 = 0

或%50,如果您只想从750和800等数字中减去1