PHP数字格式(建站)

标签 php printf preg-replace

我正在尝试格式化施工站,但我不知道如何让 preg_replace 函数接受可变数量的前导字符。格式是[可变前导字符]+XX.XX 这是我现在使用的:

输入:

0
20
160
5005.5
30096.56
1000000000.00

功能:

function formatStation($number){
    $number = sprintf('%06.2f', $number);

    $number = preg_replace('/([0-9])([0-9]{2})/', '$1+$2', $number);
    return $number;
}

输出:

0+00.00
0+20.00
1+60.00
5+005.50 <-
3+0096.56 <-
1+000000000.00 <-

正确的输出应该是:

0+00.00
0+20.00
1+60.00
50+05.50 <-
300+96.56 <-
10000000+00.00 <-

最佳答案

这是根据您的分配工作的代码:

function formatStation($number){
    $number = sprintf('%06.2f', $number);

    $number = preg_replace('/([0-9])([0-9]{2}\.[0-9]{2})/', '$1+$2', $number);
    return $number;
} 

Here you can test it.

关于PHP数字格式(建站),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38731375/

相关文章:

php - Fail2ban - 使用 exec 或 shell_exec 从 php 脚本手动添加 ip

php - Jquery:单独控制重复的类(或div)

Linux 命令 stdout 到 stdin?

php - 如何使用 preg_replace() 函数将两个不同的字符替换为一个字符?

php - 如何在Codeception\Util\Stub中正确使用atLeastOnce方法?

php - 使用GET在我的第一个php代码中出现错误

c - C如何评估这些程序?

c - 这个C函数有什么问题? (printf() 和 getchar())

php - regex/preg_replace 替换子域

java - 如何在 Freemarker 中仅从字符串中获取字母?