OVH Cloud OVH Cloud

0.0F pour single, est-ce nécessaire???

3 réponses
Avatar
David Bouchard
Je vois souvent des examples sur internet qui utilise F pour indiquer que ce
nombre est un single. Je me demande si ce n'est qu'une indication et rien
d'autre ou bien si cela joue vraiment sur les performances de l'application.
Par example, si j'ai une fonction qui me demande de passé comme paramètre un
single et que je lui passe une valeur sans se F, ceci implique t'il une
conversion du CLR ou quoi que ce soit ou bien, il n'y a aucune différence

Example
public function Addition(byval Nombre1 as single, byval Nombre2 as single)
as single
return nombre1 + nombre2
end sub

différence entre

dim Resultat as single = Addition(4.0f, 3.0f)

et

dim Resultat as single = Addition(4, 3)

Merci à qui me répondra

David

3 réponses

Avatar
Pierre Alexis
David Bouchard a écrit :

public function Addition(byval Nombre1 as single, byval Nombre2 as single)
as single
return nombre1 + nombre2
end sub

différence entre

dim Resultat as single = Addition(4.0f, 3.0f)

et

dim Resultat as single = Addition(4, 3)



Dans le deuxième cas il a conversion d'entier vers single. Mais je ne
sais pas si c'est fait à la compilation où à l'exécution.

--
Pierre ALEXIS
Courriel :
FAQ Visual Basic : http://faq.vb.free.fr/
Avatar
Zazar
Bonjour

public function Addition(byval Nombre1 as single, byval Nombre2 as
single)
as single
return nombre1 + nombre2
end sub

différence entre

dim Resultat as single = Addition(4.0f, 3.0f)

et

dim Resultat as single = Addition(4, 3)



Dans le deuxième cas il a conversion d'entier vers single. Mais je ne
sais pas si c'est fait à la compilation où à l'exécution.



C'est fait à la compilation par le compilateur VB.NET. L'utilisation de
l'une ou l'autre de ces écritures aboutit donc exactement au même résultat.
Par contre, le fait que le compilateur accepte de passer un entier à une
méthode attendant un flottant est discutable. En C# par exemple, c'est
interdit. C'est pourquoi vous trouverez des gens qui précisent correctement
le type.

--
Zazar
Avatar
David Bouchard
Parfait, merci de vos réponses, c'est exactement ce que je voulais savoir


David

"Zazar" a écrit dans le message
de news:
Bonjour

public function Addition(byval Nombre1 as single, byval Nombre2 as
single)
as single
return nombre1 + nombre2
end sub

différence entre

dim Resultat as single = Addition(4.0f, 3.0f)

et

dim Resultat as single = Addition(4, 3)



Dans le deuxième cas il a conversion d'entier vers single. Mais je ne
sais pas si c'est fait à la compilation où à l'exécution.



C'est fait à la compilation par le compilateur VB.NET. L'utilisation de
l'une ou l'autre de ces écritures aboutit donc exactement au même
résultat.
Par contre, le fait que le compilateur accepte de passer un entier à une
méthode attendant un flottant est discutable. En C# par exemple, c'est
interdit. C'est pourquoi vous trouverez des gens qui précisent
correctement
le type.

--
Zazar