Je construis actuellement un module de vente pour un site Web de clients. Jusqu'à présent, j'ai le prix de vente à calculer parfaitement, mais là où je suis coincé, c'est le formatage de la sortie à 2 décimales.
J'appelle actuellement cela dans une variable afin que je puisse lier les résultats aux résultats à une liste.
Sale = float.Parse(((x.Sale_Price - (x.Sale_Price * (x.Discount_Price / 100))).ToString())),
Quelqu'un peut-il me montrer comment formater la sortie à 2 décimales ?? Merci beaucoup!
c#
variables
floating-point
decimal
Callum
la source
la source
Réponses:
Vous pouvez transmettre le format à la
ToString
méthode, par exemple:Chaînes de format de nombre standard
la source
La première chose que vous devez faire est d'utiliser le
decimal
type au lieu desfloat
prix. L'utilisationfloat
est absolument inacceptable pour cela car elle ne peut pas représenter avec précision la plupart des fractions décimales.Une fois que vous avez fait cela, vous
Decimal.Round()
pouvez utiliser pour arrondir à 2 endroits.la source
String.Format("{0:#,###.##}", value)
Un exemple plus complexe de formatage de chaînes en C # :
la source
Je crois:
Devrait le faire.
Voir Exemples de format de chaîne de lien C #
la source
la source
Comme déjà mentionné, vous devrez utiliser un résultat formaté; qui est fait par les
Write()
,WriteLine()
,Format()
etToString()
méthodes.Ce qui n'a pas été mentionné est le format à virgule fixe qui permet un nombre spécifié de décimales. Il utilise un «F» et le nombre suivant le «F» est le nombre de décimales produites, comme indiqué dans les exemples.
la source
C'est pour les cas où vous souhaitez utiliser des chaînes interpolées . En fait, je poste cela parce que je suis fatigué des essais et des erreurs et que je fais défiler des tonnes de documents à chaque fois que je dois formater du scalaire.
Avertissement de performances
Les chaînes interpolées sont lentes. D'après mon expérience, c'est l'ordre (rapide à lent):
value.ToString(format)+" blah blah"
string.Format("{0:format} blah blah", value)
$"{value:format} blah blah"
la source