2016-07-29 9 views
-3

いくつかの値を10進数に変換する必要があります。 > 66.2、32.568 - - > 32.5、22.35264 - > 22.3 私は正確ものの場合は必要なフォーマットを取得しています66.2356:私の出力値が 元のようなものである場合C#を使用して小数点以下の桁数で値を書式設定する方法

Double calculateinputPower="somegivenvalue"; 
     String valuePower="somevalue"; 
     Double calculatePower = Double.Parse(valuePower); 
     calculatePower = calculatePower - calculateinputPower + calculateErp * 1; 
     calculatePower = Double.Parse(String.Format("{0:0.0}", calculatePower)); 
     valuePower = System.Convert.ToString(calculatePower); 
     ERP.Text = valuePower; 

:私は以下を行っています出力値は 22,33,11,66,55のようになります。その値を に変換します。22-> 22.0 33-> 33.0 11-> 11.0 66-> 66.0これをどのように取得できますかC#。

私はToString("N2");を使用する場合myVal.ToString("F");が、私はその後、私は1,000.00 を0.00 を取得しています取得していますが、私は私が必要とする正確にどのようなお金のフォーマットまたは0.00フォーマット を望んでいない使用される値が非小数の場合は0.0シングルです。

答えて

4

ちょうどあなたがdocumentation for the format strings you're usingを見てする必要があります.ToString("0.0")(これがそう22.26 -> 22.3を丸め使用します)

 double i = 22.23; 
    double j = 45; 

    string si = i.ToString("0.0"); //22.2 
    string sj = j.ToString("0.0"); //45.0 
1

を使用しています。

Fを試しました。精度が指定されていないので、"既定の精度指定子:NumberFormatInfo.NumberDecimalDigitsで定義されています"と表示されています。、あなたの場合は2です。

N2を試しましたが、その2は「精度指定子:小数点以下の桁数」です。

小数点以下の桁数を1つしか指定しない場合は、フォーマット要件に応じてF1またはN1を使用します。

var number1 = 66.2356d; 
var number2 = 66d; 

var string1 = number1.ToString("N1"); // 66.2 
var string2 = number2.ToString("N1"); // 66.0 

this fiddleを参照してください。このように

3

試してみてください。

valuePower = calculatePower.ToString("F1"); 

多くを学ぶために、このlink

+0

が、今働い@gypsyCoderありがとう従います – Srikanth

関連する問題