use*_*466 22 php regex string number-formatting
我需要设计一个函数来返回负数,但+如果数字已经没有,应该在数字的开头添加一个符号.
例:
Input Output
----------------
+1 +1
1 +1
-1 -1
Run Code Online (Sandbox Code Playgroud)
它只会获得数字输入.
function formatNum($num)
{
# something here..perhaps a regex?
}
Run Code Online (Sandbox Code Playgroud)
这个函数将被调用几次,echo/print因此越快越好.
更新:
谢谢大家的答案.我必须告诉sprintf基础解决方案真的很快.
cod*_*ict 63
您可以使用正则表达式:
function formatNum($num){
return preg_replace('/^(\d+)$/',"+$1",$num);
}
Run Code Online (Sandbox Code Playgroud)
但我建议不要使用regex这么微不足道的事情.最好在这里使用sprintf:
function formatNum($num){
return sprintf("%+d",$num);
}
Run Code Online (Sandbox Code Playgroud)
一个可选的符号说明符,用于强制在数字上使用符号( - 或+).默认情况下,如果数字为负数,则仅使用 - 符号.这个说明符强制正数加上+符号,并在PHP 4.3.0中添加.
function formatNum($num) {
return ($num>0)?'+'.$num:$num;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19262 次 |
| 最近记录: |