PHP:最简单的方式转换为"漂亮的数字"?

时间:2015-03-29 17:07:22

标签: php math text

我的价格最终为:

3.03
8229.23
8459.39
384.29
393.20
229.99
etc

我想要一个简单的功能,通过它我可以将它们转换为更漂亮的"版。我基本上想要:Round Up到49.99或9.99版本。所以上面会变成:

3.03 --> 9.99
8229.23 --> 8249.99
8459.39 --> 8459.99
384.29 --> 399.99
393.20 --> 399.99
229.99 --> 249.99

即。价格总是以9.99或49.99结束。

我如何在PHP中执行此操作?

1 个答案:

答案 0 :(得分:2)

也许这个(我假设你的意思是8459.39 --> 8499.99

$get_new_price = function($price) {
  $base = $price / 100;
  return ($base > 0.1 ? ($base - floor($base) > 0.5 ? floor($base) * 100 + 99.99 : floor($base) * 100 + 49.99) : 9.99);
};

$prices = array(
  3.03,
  8229.23,
  8459.39,
  384.29,
  393.20,
  229.99
);

$new_prices = array_map($get_new_price, $prices);