[英]How to limit the no of character displayed in double in C#?
我想限制以下程序中顯示的數字數量。 我得到的結果是3.33333333333333E + 15
但是我想將結果變量顯示為3.333E + 15以完全匹配excel工作表中使用的結果。
還有其他方法嗎? 我也嘗試過Math.Round,但它不能滿足我的要求。
if (double.TryParse(value, out res)) //value=3333333333333333
{
double result = Math.Truncate(res*100/100); //result=3.33333333333333E+15
}
為了顯示目的,您通常傾向於使用格式字符串 。 在這種情況下,格式字符串G4
將與您所需的輸出格式匹配。 不要隨意修改值以適合您的格式。 尤其是二進制浮點數,無論如何都容易出錯。 例如,您只能四舍五入尾隨數字,以使您的數字顯示為3.3330000002e15
。
請注意,根據將值轉換為字符串的方式,上述G4
用法不同:
var s = d.ToString("G4");
var s2 = string.Format("Value: {0:G4}", d);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.