J'ai l'entrée suivante
<input type="number" @bind="@object.AllocationPercentage" />
la reliure est bonne mais elle montre beaucoup de chiffres
Comment puis-je définir un format de nombre spécifique tel que "F2" ou "C2"?
Je sais que c'est possible pour les dates
en utilisant @ bind-format
3 Réponses :
Pour le moment, cela n'est pas possible avec les contrôles Blazor natifs. Cependant, il est disponible dans un certain nombre de bibliothèques tierces. Ceci est gratuit: Radzen
Il est également disponible dans des versions premium, telles que Telerik et Syncfusion.
J'ai pu trouver une solution renvoyant un formant spécifique dans la propriété de l'objet.
De cette façon, je pourrais supprimer les 0 décimales à la fin.
private MyClass _object; public MyClass object { get => _object; set { _object = value; _object. AllocationPercentage = _object.AllocationPercentage / 1.000000000000000000000000000000000m; } }
Le contournement pourrait être:
<input type="number" value="@(numberVariable.ToString("G29"))" @onchange="@(e => numberVariable = decimal.Parse(e.Value.ToString(), NumberStyles.Any, CultureInfo.InvariantCulture))" /> @code{ private decimal numberVariable {get;set;} }
Fondamentalement, vous définissez la valeur sans liaison et la mettez à jour pendant l'événement onchange.
La liaison de données fonctionne avec les chaînes de format DateTime utilisant @bind: format. Les autres expressions de format, telles que les formats monétaires ou numériques, ne sont pas disponibles pour le moment.