Runde auf 1 Dezimalstelle in C #

9

Ich möchte meine Antwort um 1 Dezimalstelle runden. zum Beispiel: 6.7, 7.3, usw. Aber wenn ich Math.round verwende, kommt die Antwort immer ohne Dezimalstellen. Zum Beispiel: 6, 7

Hier ist der Code, den ich benutzt habe:

%Vor%     
Pé Bin 30.09.2013, 08:54
quelle

3 Antworten

32

Sie teilen durch int , es gibt int als Ergebnis. (was 13/7 = 1 ergibt)

Versuchen Sie es zunächst mit einem Gleitpunkt:

%Vor%

Das averagesDoubles = Math.Round(averagesDoubles, 2); ist verantwortlich für das Runden des doppelten Wertes. Es wird rund, 5.976 bis 5.98 , aber dies hat keinen Einfluss auf die Darstellung des Wertes.

Das ToString() ist verantwortlich für die Darstellung der Dezimalstellen.

Versuchen Sie:

%Vor%     
J. van Langen 30.09.2013, 09:03
quelle
4

Stellen Sie sicher, dass averagesDoubles gemäß der Definition von Mathematik entweder doppelt oder dezimal ist .Round und kombiniere diese beiden Zeilen:

%Vor%

NACH:

%Vor%

2 steht im obigen Fall für die Anzahl der Dezimalstellen, die abgerundet werden sollen. Überprüfen Sie den Link oben für mehr Referenz.

    
Vandesh 30.09.2013 09:03
quelle
1

int division ignoriert immer den Bruch

%Vor%     
TalentTuner 30.09.2013 09:03
quelle

Tags und Links