2009-02-16 5 views
0

Le problème est le suivant: Nous créons une instance d'une classe testObject et remplissons une var avec un double.PHPExcel: notation scientifique de double/float

Une classe TestExcel s'étend à partir de PhpExcel et lors de la soumission de l'objet testObject dans le constructeur, nous obtenons une notation scientifique de la var quand nous faisons un var_dump.

Quelqu'un peut-il nous aider. Mes collègues et moi ne comprenons pas comment il est possible que le contenu d'une instance puisse être modifié en étendant la classe phpExcel. Lorsque nous n'effectuons pas l'extension, var_dump renvoie la notation correcte.

- 200000 Quand vous faites 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(); 

    } 

} 

Répondre

0

il semblait y avoir un problème dans PHP 5.2.6 qui affichait la mauvaise notation.

php 5.2.8 résolu ce bug.

0

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

Questions connexes