Système.FormatException : chaîne d'Entrée n'était pas dans un format correct ,sur la conversion de la chaîne en nombre décimal.
J'ai un petit problème avec ASP.NET et C#. C'est mon code d'erreur:
Une exception de type 'System.FormatException' s'est produite dans mscorlib.dll mais n'a pas été gérée dans >le code de l'utilisateur
Informations supplémentaires: chaîne d'Entrée n'était pas dans un format correct.
protected void Page_Load(object sender, EventArgs e)
{
if(this.IsPostBack == false)
{
Currency.Items.Add(new ListItem("Euro", "0.85"));
Currency.Items.Add(new ListItem("Yen", "11.30"));
Currency.Items.Add(new ListItem("PLN", "4.20"));
Currency.Items.Add(new ListItem("GBP", "5.62"));
}
}
protected void Convert_Click(object sender, EventArgs e)
{
decimal oldAmount;
bool succes = Decimal.TryParse(TextBox.Value, out oldAmount);
if(succes)
{
ListItem item = Currency.Items[Currency.SelectedIndex];
decimal newAmount = oldAmount * decimal.Parse(item.Value);
Result.InnerText = "Result: " + newAmount;
}
}
J'ai essayé Décimal.L'Analyse, La Virgule.TryParse et d'autres combinaisons étranges. Maintenant, je suis sûr que le problème est avec des cordes et l'analyse des décimaux. Lorsque j'ai créé la variable de Chaîne - il y a la même erreur lors de l'analyse. Si quelqu'un peut me dire quoi faire pour être en mesure de convertir la Chaîne de caractères décimaux?
Zone de texte.valeur est erronée. YourTextBoxID.Le texte est correct.
Avez-vous essayé de débogage?
Nope, la zone de texte est mon id depuis im en utilisant html controlls.
Jakob Christensen - oui, et je ne peux pas voir quelque chose d'étrange. Lorsque l'application est en ligne décimal newAmount ... il déclenche une erreur, car la chaîne n'est pas dans le bon format, mais je ne sais pas pourquoi.
Que fait la chaîne pour
Avez-vous essayé de débogage?
Nope, la zone de texte est mon id depuis im en utilisant html controlls.
Jakob Christensen - oui, et je ne peux pas voir quelque chose d'étrange. Lorsque l'application est en ligne décimal newAmount ... il déclenche une erreur, car la chaîne n'est pas dans le bon format, mais je ne sais pas pourquoi.
Que fait la chaîne pour
item.Value
ressembler sur le decimal newAmount =
ligne?OriginalL'auteur user2855304 | 2014-04-17
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser "0,85" au lieu de "de 0,85". Je pense que vous pouvez utiliser le point décimal si vous modifiez la culture.
Voici quelques informations supplémentaires:
Comment changer de symbole pour le point décimal en double.ToString()?
OriginalL'auteur sn1ckers
Veuillez essayer avec le code ci-dessous un extrait.
veuillez fournir votre zone de texte valeur.
Je n'utilise pas de zone de texte. Sur cette page, j'ai été à l'aide de <input type="text" id="zone de texte" runat="server" />. De toute façon - Sn1ckers m'aider avec la question - problème était dans ma culture signe. Au lieu de 0,85 que je devrais utiliser 0,85.
J'ai mis à jour mon code ci-dessus un extrait de code.
OriginalL'auteur Jayesh Goyani
Utiliser La Zone De Texte.Texte:
OriginalL'auteur David Brossard
Zone de texte.valeur est erronée. YourTextBox.Le texte est correct...!
OriginalL'auteur Usman Tariq