2014-02-11 53 views
0

我在做C#中的货币计算器,我有一些文本框可以输入数据。但我的问题是,当我输入第一个数字它应该输入到小数像0.02和当我输入5作为第二个数字它应该输入为0.25,如下所示 我试过这下面的代码它给我一个错误。 第一位= 2结果0.02,第二位= 5结果0.25,第三位= 8结果2.58 通常喜欢进入ATM机。我怎么能做到这一点 我已经尝试了下面的代码,它给我一个错误。字符串格式不正确如何在默认情况下添加2个十进制值

TextBox1.Text = string.Format("{0:#,##0.00}", double.Parse(textBox1.Text)); 
+2

听起来像是你可以只使用一个[假面文本框(http://msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox.aspx) – Jonesopolis

+0

@Jonesy:和掩饰,做什么OP要求是....? –

回答

1

当您输入“2”时,它会被解析为数字2,因此格式正确。尝试根据输入的前两位数字符串的长度来划分解析值。

double Value = 0; 

if (double.TryParse(textBox1.Text, out Value)) { 
    if (textBox1.Text.Length == 1) { 
     Value /= 10; 
    } else if (textBox1.Text.Length == 2) { 
     Value /= 100; 
    } 

    TextBox1.Text = string.Format("{0:#,##0.00}", Value); 

} 
+0

这......这不是C#。 :( –

+0

@MailmanOdd,意识到,只要我打保存。修正。 – Ceres

+0

:)无后顾之忧我想你会 –

相关问题