éviter la notation scientifique lors de la conversion de doubles en chaînes dans .net
. Les développeurs nets rencontrent souvent des défis lors de la conversion des valeurs double
en chaînes, en évitant en particulier le format de notation scientifique. Cet article présente une solution robuste et efficace.
maintenir la précision décimale
pour représenter avec précision une large gamme de valeurs doubles
, y compris des nombres très grands ou très petits, il est crucial de maintenir une précision décimale suffisante. Étant donné que double
les valeurs peuvent avoir des exposants allant de -308 à 308, passant potentiellement le point décimal jusqu'à 15 endroits, nous devons accueillir un nombre important de décimales.
un format de numéro personnalisé String
La chaîne de format personnalisée suivante atteint le formatage souhaité, préservant jusqu'à 339 décimales:
doubleFixedPoint = "0." new string('#', 339);
Efficacité et utilité
Cette approche est très efficace car le formatage et la manipulation des chaînes sont gérés par le code CLR non géré optimisé. Pour une convivialité améliorée, envisagez de définir la chaîne de format comme une constante:
public static class FormatStrings
{
public const string DoubleFixedPoint = "0.###################################################################################################################################################################################################################################################################################################################################################";
}
Remarque importante: pas vraiment sans perte
Bien que cette méthode imite efficacement l'arrondi d'affichage du spécificateur de format "R", ce n'est pas une conversion parfaitement sans perte. Si le ralentissement (convertissant en une chaîne et retour en un double
sans perte de données) est primordial, considérez des approches alternatives, telles que celles utilisant le format "R", pour une solution plus précise.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3