Pergunta

O problema é o seguinte: Estamos criando uma instância de uma classe testObject e preencher um var com um duplo.

A classe TestExcel se estende desde PHPExcel e aquando da apresentação do objeto testObject para o construtor temos uma notação científica do var quando fazemos um var_dump.

alguém pode ajudar-nos para fora. Meus colegas e eu não entendo como é possível que o conteúdo de uma instância pode ser alterado estendendo a classe PHPExcel.

Quando não fazemos a extensão, o var_dump retorna a notação correta. - 200000 Ao fazer a extensão temos a notação científica - 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();

    }

}
Foi útil?

Solução 2

parecia ser um problema no PHP 5.2.6 que exibia a notação errado.

php 5.2.8 resolvido este bug.

Outras dicas

você provavelmente deve definir a formatação da célula para ter o formato de número desejado. não estou certo sobre a função exata, verifique os docs.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top