Php 我怎样才能加上?’;“点”;在最后两个数字之前

Php 我怎样才能加上?’;“点”;在最后两个数字之前,php,Php,如何在最后两个数字前加一个点 让我们假设数字是正确的 299 , 250 , 400 , 4500 , 20099 我想得到最后两位数字,并在前面加上点 i、 e 在使用php时,我是否错过了一些东西,或者这不会在php.net手册中实现 $number = 1234.5678; // english notation without thousands separator $english_format_number = number_format($number, 2, '.',

如何在最后两个数字前加一个点

让我们假设数字是正确的

299 , 250 , 400 , 4500 , 20099
我想得到最后两位数字,并在前面加上点

i、 e


在使用php时,我是否错过了一些东西,或者这不会在php.net手册中实现

 $number = 1234.5678;

 // english notation without thousands separator
 $english_format_number = number_format($number, 2, '.', '');
 // 1234.57

根据@Roadirsh的版本,Substring_replace是一个更简单的选项,它可以实现真正需要的功能。肖恩的版本也将按照@Sean
number_格式($number/100,2,“,”)的注释工作(此处包含以防删除注释)。我的版本将只处理带有现有小数点或add.00的数字

尽管预期的行为是数字将被四舍五入,但进一步的测试表明,如果它们已经是小数点的两位,则它们不会被四舍五入,如
/100
部分所示。如果存在更多的小数位,则它们将四舍五入

我本来会删除我的版本,但在这里使用可能有用。

您可以使用正则表达式

echo preg_replace('/(\d+)(\d{2})/', '$1.$2', '299 , 250 , 400 , 4500 , 20099');
输出:

2.99 , 2.50 , 4.00 , 45.00 , 200.99

演示:

您可以使用该功能

如何使用和


只添加
.00
,而不是将
299
更改为
2.99
请参见。如果您使用
number\u格式($number/100,2,'.','')
2.99 , 2.50 , 4.00 , 45.00 , 200.99
substr_replace('299','.',-2,0);
<?php
$numbers = explode(' , ', '299 , 250 , 400 , 4500 , 20099');
$numbersHandled = array_map(function($e) {
    return number_format($e/100, 2, '.', '');
}, $numbers);

print_r($numbersHandled);