La constante math.pi code> est, selon le réflecteur et MSDN, égale à 3.14159265358979323846. Lors de la recherche sur la classe de mathématiques dans Visual Studio 2010, la valeur est affichée à la section 3.14159. Qui puis-je blâmer pour tronquer des constantes précieuses? P>
4 Réponses :
Désolé de me répéter, mais comment obtenez-vous ce numéro? Si je couche sur la constante ou imprimez-la dans la fenêtre immédiate ou de la montre dans VS2010, je reçois 3.1415926535897931, qui est également la valeur que je reçois lors de la recherche de MSCORLIB dans le réflecteur. p>
Bien que cela soit moins précision que les revendications MSDN, il est encore meilleur que le nombre dont vous parlez. Vs doit choisir un formatage pour imprimer des nombres de points flottants. Avec les résultats que je vois, je trouve la valeur par défaut assez acceptable. p>
Peut-être que vous avez un plugin pour VS 2010 qui modifie la sortie du nombre. Ou peut-être que vous affichez le numéro dans un contexte d'affichage qui doit tronquer le numéro à l'adaptation. où em> exactement dans Visual Studio affichez-vous ce numéro? P>
Je ne sais pas pourquoi la puissance ne pose pas cela, car cela éclaircirait les choses si incroyablement grandes, mais vous pouvez reproduire comme suit:
Ceci ouvre le fichier de métadonnées pour les mathématiques, qui contient les éléments suivants: p>
Apparemment, Resharper fournit une meilleure vue de métadonnées que VS, car elle donne la même valeur que le réflecteur. Cependant, si je désactive Resharper, je reçois le résultat que vous décrivez. Impair.
Yup, doit être ça. Ce texte est généré automatiquement à partir des métadonnées. Et ne gêne clairement pas la conversion de constantes publiques de type double à une chaîne avec tous les 15 chiffres significatifs. C'est le comportement de formatage par défaut de la fonction PrintF () en C / C ++ avec le spécificateur de type de format% F. Il est très probable que ce code ait été écrit en C ++ puisque l'interface de dénombrement des métadonnées est basée sur le com.
Merci Hans, c'est assez intéressant!
Vous pouvez blâmer la vue VS Metadata, ce que vous obtenez lorsque vous appuyez sur F12 sur quelque chose que vous n'avez pas la source. P>
Au moins, je présume que c'est ce que vous faites, car c'est le seul endroit où je peux trouver la constante tronquée dont vous parlez. p>
Pourquoi cela fait-il / où obtient-il cette valeur? Qui sait ... p>
Associé Stackoverflow.com/q/3742692/38206