Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/11/2011, 22h20   #1
Futur Membre du Club
 
nicolas lefebvre
Inscription : mai 2010
Messages : 72
Détails du profil
Informations personnelles :
Nom : nicolas lefebvre

Informations forums :
Inscription : mai 2010
Messages : 72
Points : 18
Points : 18
Par défaut convertir __toString() en entier

Salut a tous je cherche a savoir si il y avais pas un moyen pour convertir la valeur d'un entier __toString() en entier réelle .
j’explique j'ai une class TVA avec :
Code :
1
2
3
4
5
6
7
class Tva extends BaseTva
{
      public function __toString() {
 
        return $this->getIndices() ;
    }
}
et je cherche a ajouter la TVA, a un prix, d'un produit sans passer pas par un "lefjoint".

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Produit extends BaseProduit {
 
    protected function getTotalpro() {
        $tva = $this->getTva();
        $prix = $this->getTarif();
        return $prix * $tva / 100;
    }
 
    public function getPrixTTC()
    {
 
        return   $this->getTarif() *  $this->getTotalpro()  ;
    }
 
 
}
sa me marque en mode dev:
Code :
1
2
3
4
+
-
 
Notice: Object of class Tva could not be converted to int in /Applications/MAMP/htdocs/test5/lib/model/doctrine/Produit.class.php on line 18
si quelqu'un sais merci de m'aider
nlefebvre1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 14h15   #2
Membre chevronné
 
Avatar de Herode
 
Développeur Web
Inscription : mars 2005
Messages : 771
Détails du profil
Informations personnelles :
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 771
Points : 790
Points : 790
floatval() ne marche pas ?

Mais surtout, ça ne me parait pas une bonne idée d'abuser des toString(). $this->getTva()->getIndice() serait plus clair et avec un peu de chances, $tva->getIndice() renvoie un float, non ?
Herode est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/11/2011, 17h39   #3
Membre chevronné
 
Avatar de kenny.kev
 
Homme
Inscription : janvier 2007
Messages : 574
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2007
Messages : 574
Points : 688
Points : 688
Envoyer un message via MSN à kenny.kev
Bonjour,

Je suis d'accord avec Herode il ne faut pas abusé du __tostring(). Par contre je ne pense pas que ça résolvera ton problème.
Comme tout langage, PHP permet le typage des variables qu l'on souhaite. Voici la méthode :
Code :
1
2
$string = '123929';
$iValue = (int) $string;
kenny.kev est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/11/2011, 15h24   #4
Futur Membre du Club
 
nicolas lefebvre
Inscription : mai 2010
Messages : 72
Détails du profil
Informations personnelles :
Nom : nicolas lefebvre

Informations forums :
Inscription : mai 2010
Messages : 72
Points : 18
Points : 18
vous avez raison je l'aissez tomber et fait un lefjoint a la place .

Merci a vous deux pour vous être penchez sur le sujet.
nlefebvre1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h30.


 
 
 
 
Partenaires

Hébergement Web