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.我不知道从哪里开始。我尝试使用长度来查找数字,但因为我使用小数,我不能使用"长度"。
答案 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) ;