1

文字列10.00があり、それをdouble10.00に変換したいと思います。

私が使う :

string str = "10.00";
double db = double.Parse(str);

私が得る結果は10.0であり、10.00ではありません。

4

3 に答える 3

5

Parseと数値はTryParse地域の文化設定を尊重します。これは、オブジェクトを指定することで変更できCultureInfoます。たとえば、ドイツでは、ダブルギブに解析2.999すると次のようになります。2999

Console.WriteLine (double.Parse ("2.999"));   // 2999 (In Germany) 

これは、ドイツでは、ピリオドが小数点ではなく千単位の区切り文字を示しているためです。不変のカルチャを指定すると、これが修正されます。

double x = double.Parse ("2.999", CultureInfo.InvariantCulture);

呼び出すときも同じToString()です:

string x = 2.9999.ToString (CultureInfo.InvariantCulture);
于 2012-12-13T21:10:59.707 に答える
2

ダブルは文字列ではありません。doubleを文字列として表示する場合は、小数点以下2桁になるようにフォーマットできます。

例えば:

string str = "10.00";
double db = double.Parse(str);
String.Format("{0:0.00}", db); // will show 10.00
于 2012-10-02T03:02:40.040 に答える
1

質問はあまり明確ではありませんが、小数点以下2桁の精度でダブルを文字列に戻すことを指している場合は、次を使用できます。

string str = "10.00"
double db = double.parse(str);
string convertedBack = db.ToString("0.00");
于 2012-10-02T03:03:50.067 に答える