Je suis une chaîne avec le format de la monnaie comme 35,00 $, ce qui doit être converti en 35.Comment formater une chaîne monétaire en entier?
Est-ce possible de récupérer en utilisant String.Format{ }
Je suis une chaîne avec le format de la monnaie comme 35,00 $, ce qui doit être converti en 35.Comment formater une chaîne monétaire en entier?
Est-ce possible de récupérer en utilisant String.Format{ }
int value = int.Parse("$35.00", NumberStyles.Currency);
devrait vous donner la réponse dont vous avez besoin. Cependant, une valeur de $ 35.50 convertie en nombre entier ne retournera probablement pas ce que vous voulez, car les entiers ne supportent pas les nombres partiels (décimaux). Vous n'avez pas précisé à quoi s'attendre dans cette situation.
[EDIT: Changé double pour décimal qui est plus sûr d'utiliser la monnaie]
Si vous souhaitez obtenir une valeur de 35,5 dans cette situation, vous pouvez utiliser le type décimal.
decimal value = decimal.Parse("$35.00", NumberStyles.Currency);
Notez que vous devez être très prudents en traitant avec de l'argent et la précision flottante point.
Vous devez utiliser le type 'decimal' pour toutes les opérations monétaires/liées à l'argent. –
Ah oui, un très bon point. Personnellement, je n'écris jamais de code qui a trait à l'argent et qui tend à oublier le type décimal. – Khalos
Si cela a fonctionné pour vous, envisagez de le marquer comme la réponse. De cette façon, d'autres personnes ayant le même problème savent ce qui a fonctionné. Content que tu l'aies. – Khalos
duplication possible de [Convertir n'importe quelle chaîne de devises en double] (http://stackoverflow.com/questions/2753701/convert-any-currency-string-to-double) –
Quelque chose de très similaire a déjà été demandé. http://stackoverflow.com/questions/2753701/convert-any-currency-string-to-double – Patko