J'essaye de convertir un flotteur en chaîne sans obtenir le formatage de style scientifique (1.13E-8).Possibilité de formater un flottant dans un format non scientifique?
Je cherche une combinaison des spécificateurs "F" et "R". Je veux le F pour qu'il n'utilise pas le style scientifique, mais je veux aussi le R pour qu'il utilise le moins d'espace possible pour représenter exactement le nombre.
Donc, étant donné 0,000000001, la version de la chaîne doit être 0,000000001. Pas 1E-09, et pas 0.000000001000.
Est-il possible de dire au système "le rendre à point fixe, mais utiliser les chiffres minimum nécessaires pour spécifier exactement le nombre"?
Sinon, que serait une bonne solution de contournement? Je pensais: utilisez une précision de 20, puis tirez simplement sur 0 s'il y a un '.' dans la chaîne. Quelque chose de mieux?
Edit:
Voici la version que je l'ai utilisé. J'espérais vraiment qu'il y aurait un spécificateur de format que je pourrais utiliser pour le faire à la place.
var s = f.ToString("F20");
if (s.Contains("."))
{
s = s.TrimEnd('0').TrimEnd('.');
}