我在这里定义了价格:
lblPrisGrill.Text = "20,00 ,-"; // Grill
lblPrisWiener.Text = "25,00 ,-"; // Wiener
lblPrisBacon.Text = "35,00 ,-"; // Bacon
lblPrisOst.Text = "30,00 ,-"; // Oste
我将价格从字符串解析为double (number):
if (rbGrill.Checked == true)
PrisMeny = double.Parse(lblPrisGrill.Text);
else if (rbWiener.Checked == true)
PrisMeny = double.Parse(lblPrisWiener.Text);
else if (rbBacon.Checked == true)
PrisMeny = double.Parse(lblPrisBacon.Text);
else if (rbOst.Checked == true)
PrisMeny = double.Parse(lblPrisOst.Text);
我想知道为什么我只能得到数字"##,##"
而忽略了" ,-"
。
我知道有资源解释这一点,但我想知道这将是如何,如果我有多个任务,看看它将如何完成。
您可以简单地使用String.Replace
删除该部分:
string s = "20,00 ,-";
double d = double.Parse(s.Replace(",-", ""));
Console.WriteLine(d); // 20.0
您可以使用Regex查找匹配的表达式。我创建了这个。net小提琴来演示您的场景。您可以在现场检查输出。附加代码以供参考。
using System;
using System.Text.RegularExpressions;
public class Program
{
public static void Main()
{
var text = "200,001 ,-";
var regex = new Regex(@"dd*,dd*");
foreach(var match in regex.Matches(text))
{
Console.WriteLine(match.ToString());
}
}
}