javascript - 请教正则大神,如果检索到以小数点打头的,则在小数点前面加0
迷茫
迷茫 2017-05-16 13:00:39
[PHP讨论组]

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

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

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(5)
ringa_lee
$number = '.5';
$number = preg_replace('/^(\.\d+)/', '0$1', $number);
echo $number;
ringa_lee

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

给我你的怀抱

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

ringa_lee
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);

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号