我们希望在 Win CE 5.0 支持的设备上实现仅用于金钱输入的文本框 (###.00)。该应用程序是使用 .NET Compact Framework 3.5 (C#) 开发的。
有人建议我采用以下解决方案:
private void textbox1_KeyDown(object sender, KeyEventArgs e)
{
double amount = 0.0d;
if (double.TryParse(txtbox1.Text, NumberStyles.Currency, null, out amount))
{
textbox.Text = amount.ToString("C");
}
}
(Compact Framework 不支持Decimal.TryParse
)?
最佳答案
Compact Framework 不支持 TryParse。
您可以将其替换为:
private void textbox1_KeyDown(object sender, KeyEventArgs e)
{
double amount = 0.0d;
try
{
amount = Convert.ToDouble(txtbox1.Text);
textbox.Text = amount.ToString("C");
}
catch
{
}
}
或者引用此博客了解 Compact Framework 的 TryParse 实现:https://web.archive.org/web/20160606182643/http://www.yortondotnet.com/2009/11/tryparse-for-compact-framework.html
关于紧凑框架上的 C# Double.TryParse 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25014283/