2017-05-09 3 views
-3

Ich habe einige Probleme mit Dezimalstellen, der Benutzer soll eine Dezimalzahl zB eingeben. (1.97683) und dann wählen, wie viele Dezimalzahlen er erhalten möchte. In diesem Fall würde er, wenn er 3 wählt, die Zahl erhalten (1.977).Wählen Sie, wie viele Dezimalstellen

Ich kann es einfach nicht funktionieren.

Vielen Dank im Voraus

+1

Was haben Sie bisher versucht? –

+0

Math.Round (nr, 3) funktioniert nur für Nummer drei, der Punkt ist es, den Benutzer zu geben, wie viele Dezimalstellen er/sie will –

+1

Ihre Dezimalgenauigkeit in einer Variablen erfassen und an Math.Round - Math übergeben .Runde (n, p); – Gururaj

Antwort

-2

Versuchen Sie, diese für truncate:

value = Math.Truncate(100 * value)/100; 

Oder Math.Round die Nummer gewählt Anzahl der Dezimalstellen zu runden verwenden:

value = Math.Round(value, digits); 
+0

Und was wird das tun? –

+0

Kürzen, wenn er nach zwei Ziffern fragt, er kann 100 durch die 10fache Anzahl der Dezimalstellen ersetzen. Ich habe für die Rundungsnummer bearbeitet. –

1

I ToString Überlastung Runde nutzen und zeige einen Wert an. In Ihrem Fall sollten Sie

var result = value.ToString("0.###")

Seine viel besser, so zu verwenden, anstatt Math.Round, denn manchmal kann es Ihnen schlechtes Ergebnis geben.

Verwandte Themen