簡體   English   中英

如何限制C#中以雙精度顯示的字符數?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM