请教正则大神,如果检索到以小数点打头的,则在小数点前面加0

问题产生原因:
项目环境php+oracle,从oracle取出的数据如果是不满1的数字,得到的结果会将0干掉,如:'0.8',取到的结果在页面上显示就变成了'.8',看了一下oracle的教程,发现解决方法都是取值前to_char一下,但是由于字段太多,这样做非常麻烦,打算用正则将至替换一下。

例:
.5=>0.5
.03=>0.03

阅读 3.8k
5 个回答
$number = '.5';
$number = preg_replace('/^(\.\d+)/', '0$1', $number);
echo $number;

0+.5会变成0.5,我能想到的最简单的办法

$num = ".8";
$res = preg_replace('/^.(d+)/', '0.${1}', $num);
得到的$res就是了

reg = /^\./;
var arr = ['.5', '.03', '4']
for (let i = 0, len = arr.length; i < len; i++) {
    console.log(arr[i], arr[i].replace(reg,'0.'))
}

直接var_dump((float)$str);

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题