PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → [WD18->25] Attention aux conversions réel vers entier
[WD18->25] Attention aux conversions réel vers entier
Iniciado por guest.a-j, 04,mar. 2020 10:11 - 3 respuestas
Publicado el 04,marzo 2020 - 10:11
Salut
Juste pour vous signaler un "gros" soucis lors d'un cast réel vers entier... Windev ne le fait pas correctement
Exemple
rValeur_réel est un réel = 1.2/0.1
nValeur_entier est un entier = rValeur_réel

nValeur_entier devrait être égale à 12 ?
Eh bien, non, 11 avec windev ;-)
A+
Miembro registrado
143 mensajes
Publicado el 04,marzo 2020 - 11:17
Bonjour,

Vieux débat.... (Voir réponse de Fabrice ci-dessous)

https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windev/112493-wd11-conversion-implicite-reel-entier/read.awp

Bon dév...

--
Yann Wagner

WHY-GemA sàrl
Publicado el 05,marzo 2020 - 09:13
Je viens de voir le post.
Effectivement, le service technique essaye de me faire croire aussi que c'est typique à tous les langages, sauf qu'en C++, ça fonctionne très bien :
#include 
using namespace std;
int main() {
float toto = 1.2/0.1;
unsigned int titi = (unsigned int) toto;
printf("%u",titi);
return 0;
}

J'ai bien 12 comme résultat...
Windev ne fait pas correctement le cast de réel vers entier...
Publicado el 05,marzo 2020 - 09:33
l'équivalent du réel est double et pas float si on essaie avec un double on a bien 11

int main()
{

double toto = 1.2/0.1;
unsigned int titi = (unsigned int) toto;
printf("%u",titi);

return 0;
}