Unabhängig von der Art des Objekts Value ist, hat die Klassendefinition für es keine Überladung von ToString(), das ein Argument verwendet. Wenn Wert vom Typ Objekt in der Auflistung ist, müssen Sie es in eine Zeichenfolge konvertieren/konvertieren, die dann für die Parse-Methode der Dezimalstelle bereitgestellt wird. Beachten Sie, dass der ToString ("#. ##") nicht wirklich wichtig ist, wenn Sie ValorNF ein Dezimalobjekt zuweisen, da Sie es immer zu einem späteren Zeitpunkt für die Anzeige formatieren können.
Wenn Sie eine Dezimalstelle auf 2 Dezimalstellen formatieren möchten, würde ich vorschlagen, dass Sie dafür eine Standardformatzeichenfolge verwenden. Im Folgenden wird der Wert in eine Dezimalzahl analysieren und dann die ToString es auf 2 Dezimalstellen in eine Zeichenfolge zu konvertieren verwenden:
decimal.Parse(RsFaturamento.Fields["ValorTotal"].Value.ToString()).ToString("N2", CultureInfo.InvariantCulture);
Nun, was ist die Kompilierung-Art von 'RsFaturamento.Fields [ "ValorTotal"] Value'.? Und warum würden Sie einen Wert in eine Zeichenkette umwandeln, nur um sie erneut zu parsen? –
Es ist, weil ich den Wert zum Beispiel habe: 11541.121221 und möchte zu 11541.12 konvertieren –
Das klingt, als ob Sie 'Math.Round' aufrufen sollten ... –