Simple façon de couper le Signe du Dollar, si présent dans C#
J'ai un DataRow et je suis l'un des éléments qui est un Montant avec un signe dollar. Je vais appeler les méthodes toString. Est-il une autre méthode je peux faire appel à lui pour enlever le signe dollar, si elle est présente.
Donc quelque chose comme:
dr.ToString.Substring(1, dr.ToString.La longueur);
Mais plus conditionnellement dans le cas où le signe dollar jamais fait une apparition à nouveau.
Je suis en train de le faire avec définissant explicitement une autre chaîne.
OriginalL'auteur Brian G | 2008-09-30
Vous devez vous connecter pour publier un commentaire.
--
Si vous travaillez avec une table de données, alors vous devez unbox la valeur (par défaut son Objet) à une chaîne, de sorte que vous êtes déjà la création d'une chaîne de caractères, puis un autre avec le remplacement. Il n'y a vraiment pas d'autre moyen de la contourner, mais vous ne verrez que les différences de performances lorsque vous traitez avec des dizaines de milliers d'opérations.
OriginalL'auteur StingyJack
Vous pouvez également utiliser
ou
OriginalL'auteur hangy
Si vous êtes à l'aide de C# 3.0 ou supérieure, vous pouvez utiliser les méthodes d'extension.
Puis votre code pourrait être modifié pour:
Cela vous permettra de changer la mise en œuvre de RemoveNonNumeric plus tard pour enlever des choses comme des virgules ou des signes $ en monnaie étrangère, etc.
Aussi, si l'objet sort de la base de données est en effet une chaîne de caractères, vous ne devez pas appeler ToString (), puisque l'objet est déjà une chaîne de caractères. Vous pouvez au lieu de le jeter.
OriginalL'auteur Shaun Bowe
Regex serait de travailler.
Regex.Remplacer(theString, "$", "");
Mais il y a plusieurs façons de résoudre ce problème.
OriginalL'auteur itsmatt
dr[columeName].ToString().Replace("$", De Chaîne De Caractères.Vide)
OriginalL'auteur devmode
Pourquoi ne pas vous mettre à jour la base de données de la requête afin qu'il ne retourne pas le signe dollar? De cette façon, vous n'avez pas à futz dans votre code C#.
En raison de stocker des données non valides, bien, mal.
OriginalL'auteur Kwirk