Question

Le problème est le suivant: Nous sommes en train de créer une instance d'un testObject de classe et de remplir un var avec un double.

Une classe TestExcel va de PHPExcel et lors de la présentation du testObject objet dans le constructeur nous obtenons une notation scientifique du var quand nous faisons un var_dump.

Quelqu'un peut-il nous aider. Mes collègues et je ne comprends pas comment il est possible que le contenu d'une instance peut être modifiée par l'extension de la classe PHPExcel.

Lorsque nous ne faisons pas l'extension, la var_dump retourne la notation correcte. - 200000 Lorsque vous effectuez l'extension, nous obtenons la notation scientifique - 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();

    }

}
Était-ce utile?

La solution 2

il semblait être un problème en PHP 5.2.6 qui affichait la mauvaise notation.

php 5.2.8 a résolu ce bogue.

Autres conseils

vous devriez probablement mettre en forme de la cellule pour avoir le format numérique désiré. Je ne suis pas sûr de la fonction exacte, vérifiez la documentation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top