PHPExcel: научное обозначение double / float - PullRequest
0 голосов
/ 16 февраля 2009

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

Класс 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();

    }

}

Ответы [ 2 ]

0 голосов
/ 09 марта 2009

В PHP 5.2.6, похоже, возникла проблема с неправильным обозначением.

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

0 голосов
/ 17 февраля 2009

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

...