2011-02-14 64 views

回答

26

是字符串還是雙精度? 如果它是一個字符串:

double d = double.Parse(s,CultureInfo.InvariantCulture); 
string s=string.Format("{0:0.00}",d); 

,如果它已經是使用第二線的雙重只是格式。

+0

我需要的是格式的IFormatProvider的 – MonsterMMORPG 2011-02-14 20:58:09

+0

格式CultureInfo.InvariantCulture提供者,如果你的小數使用一個分隔符總是「。」,你究竟需要知道什麼? – 2011-02-14 21:03:14

10

There is no double 0.55 - 數字不能準確地表示爲二進制小數。這可能就是你首先得到那個長串的原因。您應該使用decimal類型而不是double。要了解原因,請參閱The Floating-Point Guide

48

您可以使用此代碼來減少精密部件:

double m = Math.Round(0.55000000000000004,2); 

結果將是:0.55