解析加倍并忽略字母和空格

时间:2015-10-20 19:00:39

标签: c# webforms

我在这里定义价格:

lblPrisGrill.Text = "20,00 ,-"; // Grill
lblPrisWiener.Text = "25,00 ,-"; // Wiener
lblPrisBacon.Text = "35,00 ,-"; // Bacon
lblPrisOst.Text = "30,00 ,-"; // Oste

我将价格从字符串解析为double(数字):

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);

我想知道如何才能获得号码"##,##"并忽略" ,-"

我知道有资源解释这一点,但我想知道如果我有多个任务并看看它将如何完成将会如何。

2 个答案:

答案 0 :(得分:0)

您只需使用String.Replace删除该部分:

string s = "20,00 ,-";

double d = double.Parse(s.Replace(",-", ""));
Console.WriteLine(d); // 20.0

答案 1 :(得分:0)

您可以使用Regex查找匹配的表达式。我创建了this dotnet小提琴来演示你的场景。你可以用小提琴检查输出。附上代码以供参考。

using System;
using System.Text.RegularExpressions;

public class Program
{
    public static void Main()
    {
        var text = "200,001 ,-"; 

        var regex = new Regex(@"\d\d*,\d\d*");
        foreach(var match in regex.Matches(text))
        {
            Console.WriteLine(match.ToString());
        }

    }
}