comment format de monnaie sous la zone de texte?

Je veux saisir un nombre dans la zone de texte, une de mes textbox convertir automatiquement en virgule(,) format. J'ai essayé de le faire, mais il fonctionne mal. - Il m'aider? Comme ce 1,20(je VIENS d'ENTRER 120);

private bool IsNumeric(int Val)
{
return ((Val >= 48 && Val <= 57) || (Val == 8) || (Val == 46));
}
String str;
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
int KeyCode = e.KeyValue;
if (!IsNumeric(KeyCode))
{
if (KeyCode == 13)
{
e.Handled = true;
vendas();
str = null;
}
e.Handled = true;
return;
}
else
{
e.Handled = true;
}
if (((KeyCode == 8) || (KeyCode == 46)) && (str.Length > 0))
{
str = str.Substring(0, str.Length - 1);
}
else if (!((KeyCode == 8) || (KeyCode == 46)))
{
str = str + Convert.ToChar(KeyCode);
}
if (str.Length == 0)
{
textBox1.Text = "";
}
if (str.Length == 1)
{
textBox1.Text = "0,0" + str;
}
else if (str.Length == 2)
{
textBox1.Text = "0," + str;
}
else if ((str.Length > 2) && (str.Length != 6) && (str.Length != 9) && (str.Length != 12))
{
textBox1.Text = str.Substring(0, str.Length - 2) + "," + str.Substring(str.Length - 2);
textBox1.Text = textBox1.Text;
}
else if ((str.Length > 6) && (str.Length != 8) && (str.Length != 10) && (str.Length != 12))
{
textBox1.Text = str.Substring(0, str.Length - 3) + "," + str.Substring(str.Length - 1);
textBox1.Text = textBox1.Text;
}
}

Il me montre 10,01 au lieu 0,01?

  • pourquoi voulez-vous faire cela?
  • quel est le fou de l'indentation?
  • Texte de maths est VRAIMENT dur.
  • Vous avez spécifié un paramètre de Chaîne incorrecte quelque part. Aussi, pourquoi ne pas simplement utiliser le nombre de fonctions de mise en forme?
  • je suis en train de faire de la trésorerie compteur de programme thatswhy j'en ai besoin . exp: prix total est à 10,50 et j'ai besoin d'écrire dans la zone de texte 1050 mais la zone de texte convertir automatiquement les mêmes chiffres;
InformationsquelleAutor SaQeE -- | 2012-08-10