在文本中查找数字并显示它们

时间:2015-06-30 20:58:10

标签: c# visual-studio-2012 decimal

private void textBox1_TextChanged(object sender, EventArgs e)
{
    decimal x = 0;

    if (Decimal.TryParse(textBox1.Text, out x))
    {
        var y = 1000000;
        var answer = x * y;

        displayLabel2.Text = x.ToString();
    }
    else
    {
        displayLabel2.Text = "error";
    }
}

在我的代码中,如果用户输入7.2,它将显示7.2。如果输入0.72,它将显示为如此。等等。我试图只取2个不是0的数字。我需要它作为转换输入十进制。但我需要取两个主要数字并显示出来。所以如果输入0.00072,我只需要显示72.

问题是,如果我输入0.001或0.0010,我需要显示10.我不知道从哪里开始。我尝试使用长度来查找数字,但因为我使用小数,我不能使用"长度"。

2 个答案:

答案 0 :(得分:2)

你想要的是修剪前导零。这可以完成如下:

var trimmedValue = x.ToString(CutlureInfo.InvariantCulture)
                    .TrimStart(new Char[] {'0'});
if(trimmedValue.Length == 1) trimmedValue = trimmedValue+"0";
displayLabel2.Text = trimmedValue;

答案 1 :(得分:0)

displayLabel2.Text=(x.ToString().Replace(".","").TrimStart(new Char[] {'0'})+"00").Substring(0,2) ;