如何在最后两个数字之前添加一个点?
让我们说数字是
299 , 250 , 400 , 4500 , 20099
我想得到最后两位数并为它添加点
即
2.99 , 2.50 , 45.00 , 200.99
使用php
答案 0 :(得分:5)
您可以使用substr-replace
功能substr_replace('299','.',-2,0);
答案 1 :(得分:1)
我是否错过了某些内容或者不会这样做 - 来自php.net - 手册。
$number = 1234.5678;
// english notation without thousands separator
$english_format_number = number_format($number, 2, '.', '');
// 1234.57
http://php.net/manual/en/function.number-format.php
根据@Roadirsh的版本,Substring_replace是更简单的选项,它可以完成真正要求的工作。 Sean的版本也将根据@sean number_format($number/100, 2, '.', '');
的评论工作(如果评论被删除,则包含在此处)。我的版本只处理带有现有小数点的数字或添加.00
虽然预期的行为是数字会被舍入,但进一步的测试显示,如果它们已经只有/100
部分中的两位小数,则它们不会被舍入。如果存在更多的小数位,它们将被舍入。
我会删除我的版本,但它可能会有用。
答案 2 :(得分:1)
如何使用number_format和array_map?
<?php
$numbers = explode(' , ', '299 , 250 , 400 , 4500 , 20099');
$numbersHandled = array_map(function($e) {
return number_format($e/100, 2, '.', '');
}, $numbers);
print_r($numbersHandled);
检查runnable。
答案 3 :(得分:0)
你可以使用正则表达式。
echo preg_replace('/(\d+)(\d{2})/', '$1.$2', '299 , 250 , 400 , 4500 , 20099');
输出:
2.99 , 2.50 , 4.00 , 45.00 , 200.99