0
votes

Le type décimal perd la précision dans la liaison de rasoir de base .Asp.net

Nous avons été confrontés à la question où .Net Core arrondi des valeurs décimales à 2 décimales, nous voulons plus de précision de 5 décimales. Problème déjà discuté Cette question. La solution fournie ne semble pas être très élégante. Y a-t-il un moyen de remplacer ce comportement par défaut


3 commentaires

Je ne vois aucune indication que .NET CORE est "Perdre précis" ici - juste que la liaison de rasoir a un formatage par défaut. Si vous croyez que c'est vraiment Core .NET Core plutôt que le formatage par défaut de Razor, pourriez-vous fournir un exemple de reproductible minimal comme un < I> Console Application? Par exemple, qu'est-ce que décimal m = 1,23456789m; Console.writeine ​​(m); montre pour vous?


(Et si c'est vraiment est juste de la reliure de rasoir + formatage comme je m'attends, vous avez déjà une réponse dans l'autre question. Je ne pense pas à demander une nouvelle question pour la même chose va vous donner un résultat différent.)


@Jonskeet merci pour vos informations, j'ai mis à jour la question en conséquence. La question était peu ancienne, alors pensée peut obtenir une autre meilleure solution que j'en ai besoin au niveau de l'application


3 Réponses :


0
votes

1) Utilisez Decimal (18, 5) dans la table SQL Server

2) Ajouter une étape = "0.00001" dans votre entrée HTML ou quoi que ce soit xxx

résultat < / p>

 Entrez la description de l'image ici

 Entrez la description de l'image ici

Ceci est toujours vieux. Il existe autour de l'ancien .NET Framework. Ne comprenez pas pourquoi vous le trouvez si fort à résoudre. o.o


0 commentaires

0
votes

Vous pouvez utiliser le format ASP sur votre étiquette d'entrée comme ceci:

 <input asp-for='data' asp-format="{0:0.00000}" class="form-control" />


0 commentaires

0
votes

Une autre option consiste à écrire votre propre assistant de tagis qui format le numéro avec 5 décimales. Et il peut s'appliquer via l'application. De cette façon, vous avez plus de contrôle sur la façon dont vous affichez les chiffres. Et tout le code de mise en forme / logique est mis en 1 place, vous pourrez donc plus facile à modifier à l'avenir.


0 commentaires