2014-01-07 40 views
0

我希望我的标签中的数字与2.58相似,而不是2.5863254689或任何此类数字。我需要在小数点后显示2个数字。限制标签中小数点后的位数

private void ProgressChanged(object sender, UploadProgressChangedEventArgs e) 
{ 
    darsad.Visible = true; 
    float c; 
    size.Text = e.BytesSent.ToString(); 
    c = float.Parse(size.Text); 
    c /= 1024; 
    c /= 1024; 
    size.Text = c.ToString() + " MB"; 
} 
+6

'c.ToString( “F2”)' – Silvermind

+3

看[该文档(http://msdn.microsoft.com/en-us/library/dwhawy9k%28v=vs.110%29。 aspx)ToString重载。 –

+1

为什么2.58而不是2.59? – Magnus

回答

3

您可以指定custom numeric format string作为ToString()方法的参数。

这将给你两位数的小数点后,但正如你可以在链接的文章中看到你有很多选择你如何格式化数字。

size.Text = c.ToString("0.00") + " MB"; 

要显示在KB大小VS MB根据不同的值,你需要if语句使用。

c = float.Parse(size.Text); 
c /= 1024; 
if(c < 1024) 
{ 
    size.Text = c.ToString("0.00") + " KB"; 
} 
else 
{ 
    c /= 1024; 
    size.Text = c.ToString("0.00") + " MB"; 
} 
+0

我想如果size.text少于1024k显示像123/25KB像Idm程序和当size.text超过1024k显示像1.25m – morteza

+0

@morteza - 请参阅更新 –

+0

问题是当size.text <1024kb显示像125/00 150/00 220/00 – morteza

相关问题