| 
 | 
  Peter Papp - 2006-11-27 18:20:38  
Hi! 
 
I noticed that by Sergiu Neamt's suggestion, you are using the number_format PHP function in the setInt mehtod of the Record class. The initial idea is good, however, this will leave a thousand separator (",")in the number, thus it will be written to the dbf table incorrectly. I suggest the following change: 
 
Instead of: 
$this->forceSetString($columnObj,number_format($value, $columnObj->decimalCount); 
 
Try this: 
$value = number_format($value, $columnObj->decimalCount); 
$value = str_replace(",", "", $value); 
this->forceSetString($columnObj, $value); 
 
Best regards, 
4P 
  
  Jirka - 2007-09-12 20:55:45 -  In reply to message 1 from Peter Papp 
Hi I had the same problem 
solution which works for me: 
 
The "float" column was defined as "numeric" (try to check col headers from test.php) 
Numeric fields are read as INT 
 
find     function getInt($columnObj) //line 170 Record.class.php 
change line: 
        return intval($s); //175 
to 
        return floatval($s); 
Jirka 
 
  
  prokee - 2013-03-19 14:06:22 -  In reply to message 1 from Peter Papp 
I had some problems with writing numbers under 999 to the DBF file. 
Tried your suggestion, replaced this line: 
$this->forceSetString($columnObj,number_format($value, $columnObj->decimalCount)); 
 
...to this: 
 
$value = number_format($value, $columnObj->decimalCount); 
$value = str_replace(",", "", $value); 
$this->forceSetString($columnObj, $value); 
 
(that's your idea, just fixed some missing characters) 
 
...in file Record.class.php, and works fine - thanks! 
  
   |