2009-02-16 12 views
0

Проблема заключается в следующем: Мы создаем экземпляр класса testObject и заполняем var двойным.PHPExcel: научная нотация double/float

Класс TestExcel распространяется от PhpExcel и при отправке объекта testObject в конструктор мы получаем научное обозначение var при выполнении var_dump.

Может кто-нибудь помочь нам. Мои коллеги и я не понимаем, как возможно, что содержимое экземпляра может быть изменено путем расширения класса phpExcel.

Когда мы не делаем расширение, var_dump возвращает правильную нотацию. - 200000 При выполнении расширения мы получаем научное обозначение - 2.0E + 5

// instance of the testObject 

$number = new testObject(); 
$number->setNumber((double)200000); 

// contruct testExcelClass 
$excel = new TestExcel($number); 


// Class TestObject  
class testObject { 

     private $number; 

     public function setNumber($number){ 
      $this->number = $number; 
     } 

     public function getNumber(){ 
      return $this->number; 
     } 

} 

// class test excell extends from phpexcel (http://www.codeplex.com/PHPExcel) 
class TestExcel extends PHPExcel { 

    private $number; 

    public function __construct($number){ 
     parent::__construct(); 

     $this->number = $number; 
     print_r($this->number); exit(); 

    } 

} 

ответ

0

В PHP 5.2.6 это представляло проблему, которая отображала неправильную нотацию.

php 5.2.8 решил эту ошибку.

0

вы, вероятно, следует установить форматирование ячейки, чтобы иметь желаемый формат числа. я не уверен в точности функции, проверьте документы.