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 p>
3 Réponses :
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 p> résultat < / p> 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 p> p>
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" />
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. P>
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 i> Application? Par exemple, qu'est-ce que
décimal m = 1,23456789m; Console.writeine (m); code> montre pour vous?
(Et si c'est vraiment est i> 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