[英]c# Convert String to double loss of precision
我有以下內容:
string value = "9223372036854775807";
double parsedVal = double.Parse(value, CultureInfo.InvariantCulture);
...結果是9.2233720368547758E+18
,這不是完全相同的數字。 如何在不損失精度的情況下將字符串轉換為double?
double
只能保證16(大約)十進制數字的精度。 你可能會嘗試切換到decimal
(它還有幾個位可以使用,並保持該值具有足夠的余量)。
使用Decimal可以獲得您需要的精度。 但請注意,Decimal的存儲范圍不會與double相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.