2016-07-29 22 views
-3

Ich muss einen Wert in Dezimal konvertieren. Ich habe mit der unten getan:Wie formatiert man einen Wert mit einer einzigen Dezimalstelle mit 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; 

wenn mein Ausgangswert wie ex ist: 66,2356 -> 66,2, 32,568 -> 32,5, 22,35264 -> 22,3 i das Format immer bin, die ich brauche genau, aber wenn die Ausgabewert ist wie 22,33,11,66,55 etwas wie das dann möchte ich diesen Wert auf konvertieren 22-> 22.0 33-> 33.0 11-> 11.0 66-> 66.0 Wie kann ich das bekommen in C#. i

verwendet myVal.ToString("F"); dann i 0,00 bin immer wenn ich verwende ToString("N2"); dann ich erhalte 1.000,00 aber ich Geld Format oder 0,00 Format nicht wollen Was genau i Single brauchen 0,0, wenn der Wert nicht dezimal ist.

Antwort

4

Verwenden Sie einfach .ToString("0.0") (Hinweis: Dies verwendet Runden so 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

Sie müssen an der documentation for the format strings you're using zu suchen.

Sie haben versucht, F, die sagt, wie Sie nicht die Genauigkeit angegeben haben, die die "Standardpräzisions-Spezifizierer: Definiert von NumberFormatInfo.NumberDecimalDigits.", das ist 2 in Ihrem Fall.

Sie haben versucht N2, die besagt, dass die 2 ist die "Precision Specifier: Gewünschte Anzahl von Dezimalstellen.".

Da nur eine Dezimalstelle benötigt wird, verwenden Sie F1 oder N1, abhängig von Ihren Formatierungsanforderungen.

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

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

Siehe this fiddle.

3

Versuch auf diese Weise:

valuePower = calculatePower.ToString("F1"); 

Um mehr zu erfahren, folgen diese link

+0

Danke @gypsyCoder seine jetzt arbeiten – Srikanth