2017-03-24 2 views
2

Ich kann nicht verstehen, was los ist? Ich habe eine kleine Variable. Dezimalwert nach Berechnung

decimal Price = 22348/100;

Die Antwort, die ich bekommen ist: 223, aber ich sollte 223,48 erhalten. Was ist das Problem?

+1

Mögliches Duplikat geben [Wie kann ich zwei ganze Zahlen teilt ein Doppel zu bekommen?] (Http://stackoverflow.com/questions/661028/how-can-i -divide-two-integers-to-get-a-double) – HimBromBeere

Antwort

11

Was Sie tun, ist dies:

decimal = (decimal)(int/int); 

Sie sind also die Berechnung ganzer Zahlen (wodurch man das gewünschte Ergebnis erhalten) und dann das Ergebnis in eine Dezimalzahl umwandeln.

Stattdessen könnten Sie eine der beiden Operanden in eine Dezimalzahl Stimmen:

decimal Price = 22348/100M; 
+0

Danke für die super schnelle Antwort. –

+1

Sorry wenn das eine blöde Frage ist aber was macht das "M" nach dem 100? –

+1

@ JayF1 ["Dezimal"] (http://stackoverflow.com/q/5333489/993547) –

1

erklären diese Zahlen als Dezimalzahl Variable dann die Divisionen in der anderen Dezimalzahl Variable führen setzen.

decimal num1 = 22348; 
    decimal num2 = 100; 
    decimal Price = (num1/num2); 
    Console.WriteLine(Price); 

Dies wird das Ergebnis 223.48