php dbase扩展切断浮点数

时间:2012-06-12 13:48:27

标签: php dbase


我在浏览dbase(dbf)文件时遇到了奇怪的问题。

我的开发环境

  • OS:Win 7
  • Php版本:5.3.8
  • Web服务器:apache 2.2

我的制作环境

  • OS:Centos 5.5
  • Php版本:5.3.12
  • Web服务器:nginx 1.2.1

这两种环境都使用标准的php dbase扩展(unix:http://pecl.php.net/package/dbase,win:http://downloads.php.net/pierre/)。

我有dbf文件,其中一列是浮点数(10,2),值为26.14。当我在开发环境中读取此文件时,它正确显示(" 26.14"),但在生产环境中执行完全相同的操作,它只输出" 26"。代码如下:

<?php
$db = dbase_open($path_to_dbf, 0);
$record_numbers = dbase_numrecords($db);
for ($i = 1; $i <= $record_numbers; $i++)
{
   $row = dbase_get_record_with_names($db, $i);
   echo '<pre>', var_dump($row), '</pre>'; 
}
?>

我真的很困惑,也不知道从哪里开始寻找这个问题的解决方案。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

我知道这是一个老问题,但也许它会帮助别人。

可能你有一个“,”作为分隔符,而不是“。”

我有这个问题,这有帮助:

setlocale(LC_NUMERIC, 'C');