2017-01-06 3 views

Antwort

4

Dies könnte den Trick für Sie tut

decimal dsd = 2.8634m; 
var no = Math.Truncate(dsd * 10)/10; 

Math.Truncate berechnet den integralen Bestandteil einer angegebene Dezimalzahl. Die Zahl wird auf die nächste ganze Zahl gegen Null gerundet.

Sie können auch auf den Unterschied zwischen Math.Floor, Math.Ceiling, Math.Truncate, Math.Round mit einer erstaunlichen Erklärung sehen.

+0

danke! seine Arbeit – shalusri

+0

Glücklich, dir zu helfen @shalusri Happy Coding :) –

0

verwenden one.Hope dies für Sie arbeiten.

var no = Math.Round(2.8634,1,MidpointRounding.AwayFromZero) 
+3

es ist 2,9, er will 2,8 –

+0

bekommen es wird nicht funktionieren – shalusri

0

Es ist ein bisschen mehr kryptische (aber effizienter) als eine Math Methode aufrufen, aber Sie können einfach den Wert von 10, auf eine ganze Zahl (die effektiv den Dezimalteil kürzt), und dann teilen gegossen multiplizieren 10.0 (oder 10d/10f, alles nur um sicherzustellen, dass wir keine Ganzzahldivision bekommen), um den Wert zurück zu bekommen, den Sie suchen. D.h .:

float val = 2.8634; 
val = ((int)(val * 10))/10.0; 
Verwandte Themen