Page 1 sur 1

Calculs / Chaines de caractères

Posté : 26 déc. 2006, 13:44
par Bisvan
Bonjour,

j'ai un soucis sur les fonctions arithmétiques avec php.
J'ai une table avec deux champ "nombre" et "nombre2".
Le champ "Nombre" à des données nombres entiers de type : 10 ou 14 ou 30
Le champ "Nombre2" à des données nombres avec 1 décimale de type : 12,4 ou 15,3 ou 73,8

Pour le moment ces deux champs sont de type CHAR (5)

J'aimerais avec php additioner ces deux champs :

$moncalcul=$nombre+$nombre2;

Sauf qu'en faisant cela j'ai un nombre entier qui arrive en résultat...comment afficher les décimales ?
Changer le type de tables ? si oui laquelle ?
Changer le type de calcul ?

Je m'en sort pas et je tourne en rond bouuuuuuuuuhhhh !!!
Merci de votre aide,

Bisvan

Posté : 26 déc. 2006, 13:57
par ouckileou
Salut,

est-ce que tu peux montrer un peu plus de code ? de la récupération des données au calcul et affichage.
Merci

Posté : 26 déc. 2006, 14:03
par Bisvan
OK voici
query = "select * from matable where idsession='$idsession'";
$result = mysql_db_query("$bdd", $query) or die($query . mysql_error( ));
$r = mysql_fetch_array($result);
$nombre= $r[nombre];
$nombre2= $r[nombre2];

$calcul=$nombre+$nombre2;
echo "$calcul";
Voici :)

Posté : 26 déc. 2006, 14:10
par ouckileou
À ce niveau là tu récupères les bons nombres ?
$nombre= $r[nombre];
$nombre2= $r[nombre2];
Où est-ce qu'il y a déjà le problème ?

Posté : 26 déc. 2006, 14:13
par Bisvan
Nop les nombres apparaissent correctement (avec virgule pour les décimaux et sans pour les entiers)
C'est plutôt le calcul qui merde vu qu'ils met un résultat sans décimale

Posté : 26 déc. 2006, 14:23
par ouckileou
Est-ce que tu peux quand même nous montrer un echo des 2 nombres utilisés ?

Posté : 26 déc. 2006, 14:28
par ouckileou
Voici les nombres exemples de la documentation :
<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
?> 
Je pense que tu verras une différence avec les tiens ;)

-> http://fr.php.net/manual/fr/language.types.float.php

Posté : 26 déc. 2006, 14:30
par Bisvan
justement j'étais allé voir la documentation sur les float...mais je ne vois pas la différence :?

Posté : 26 déc. 2006, 14:33
par ouckileou
Remplace tes virgules par des points.
<?php
echo $nombre = "12"; echo "<br />";
echo $nombre2 = "10,5"; echo "<br />";
echo $nombre3 = "10.5"; echo "<br />";

$total1 = $nombre + $nombre2;
$total2 = $nombre + $nombre3;

echo '$nombre + $nombre2 = '.$total1; echo "<br />";
echo '$nombre + $nombre3 = '.$total2;
?>

Code : Tout sélectionner

12 10,5 10.5 $nombre + $nombre2 = 22 $nombre + $nombre3 = 22.5

Posté : 26 déc. 2006, 14:37
par Bisvan
oups...ok :)

Posté : 26 déc. 2006, 15:09
par ouckileou
Résolu donc ? Si oui tu peux marquer le sujet