2012-04-18 55 views
0

我有关于十进制数字从oracle到php的这个问题。如果我在oracle上有“0,7”,例如,当我在php上使用它时,它将是“,7”,没有零。十进制数字之前为零

任何人都知道为什么?对此可能的解决方案?谢谢!

+0

这是关于消光。 Google for“oracle数字格式” – zerkms 2012-04-18 20:56:17

+0

可能重复发布。我敢打赌,答案是在这里:[链接](http://stackoverflow.com/questions/4284571/php-oci-oracle-and-default-number-format) – Dyin 2012-04-18 21:08:51

回答

0

虽然我不熟悉Oracle,你可以重新使用一些添加这些零这样的:

function maybe_prefix_zero($input) { 
    if(substr($input, 0, 1) === ',') return '0' . $input; 
     else return $input; 
} 
1

如果你不介意做这对于每个查询,以最快的方式将转换字符串浮动:

$num = .141592653589793; 
echo (float)$num;  // prints 0.141592653589793 
+0

这可以引入重要的舍入错误。例如,用'0.034220'来试试' – 2014-03-10 20:52:46

0

,我找到了最好的解决方案是增加零号:

$nbr=0.3; 
echo $nbr + 0; 
+0

'0.3'与'0,3'不一样 – ptierno 2015-01-05 14:29:39