Comment convertir un double en une représentation de chaîne en virgule flottante sans notation scientifique dans le .NET Framework?
Exemples "petits" (les nombres effectifs peuvent être de n'importe quelle taille, comme 1.5E200
ou 1e-200
) :
3248971234698200000000000000000000000000000000
0.00000000000000000000000000000000000023897356978234562
Aucun des formats de nombres standard ne sont comme ça, et un format personnalisé ne semble pas permettre d'avoir un nombre ouvert de chiffres après le séparateur décimal.
Ce n'est pas un doublon de Comment convertir un double en une chaîne sans la représentation de puissance de 10 (E-05) parce que les réponses données là-bas ne résolvent pas le problème en question. La solution acceptée dans cette question était d'utiliser un point fixe (comme 20 chiffres), ce qui n'est pas ce que je veux. Un format à point fixe et la suppression des zéros redondants ne résolvent pas le problème non plus car la largeur maximale pour un point fixe est de 99 caractères.
Remarque : la solution doit traiter correctement les formats de nombres personnalisés (par exemple, un autre séparateur décimal, en fonction des informations culturelles).
Edition : La question concerne vraiment uniquement l'affichage des nombres susmentionnés. Je suis conscient de comment les nombres flottants fonctionnent et quels nombres peuvent être utilisés et calculés avec eux.
1 votes
Avez-vous une solution pour cette question maintenant?
0 votes
@Anand, il existe deux solutions qui fonctionnent (Paul Sasik et la mienne) même si elles ne sont pas particulièrement "belles" (en passant par la manipulation de chaînes de caractères).