【发布时间】:2012-04-18 20:55:17
【问题描述】:
我有这个关于从 oracle 到 php 的十进制数的问题。如果我在 oracle 上有“0,7”,例如,当我在 php 上使用它时,它将是“,7”,没有零。
有人知道为什么吗?以及可能的解决方案?谢谢!
【问题讨论】:
-
这是关于格式化的。谷歌“oracle 数字格式”
-
可能重复的帖子。我敢打赌答案就在这里:link
我有这个关于从 oracle 到 php 的十进制数的问题。如果我在 oracle 上有“0,7”,例如,当我在 php 上使用它时,它将是“,7”,没有零。
有人知道为什么吗?以及可能的解决方案?谢谢!
【问题讨论】:
如果您不介意对每个查询都这样做,最快的方法是将字符串转换为浮点数:
$num = .141592653589793;
echo (float)$num; // prints 0.141592653589793
【讨论】:
0.034220
虽然我不熟悉 Oracle,但您可以通过以下方式重新添加这些零:
function maybe_prefix_zero($input) {
if( substr($input, 0, 1) === ',' ) return '0' . $input;
else return $input;
}
【讨论】:
我发现的最佳解决方案是在数字上加零:
$nbr=0.3;
echo $nbr + 0;
【讨论】:
0.3 与0,3 不同