Ich habe einen harten Tag, aber etwas summiert sich nicht richtig.
In meinem C # -Code habe ich Folgendes:
%Vor% Wo (int)TotalRecordCount
= 12 und (int)PageSize
= 5. Das Ergebnis, das ich bekomme, ist 2.
(Beide Werte sind int
-Werte.)
Nach meinen Berechnungen 12/5 = 2.4. Ich dachte, Math.Ceiling würde immer zusammenkommen, und in diesem Fall gib mir 3?
PS, wenn ich das tue:
%Vor%Ich bekomme die Nachricht:
Math.Ceiling (this.TotalRecordCount / this.PageSize)
Der Aufruf ist zwischen den folgenden Methoden oder Eigenschaften mehrdeutig:
'System.Math.Ceiling (dezimal)' und 'System.Math.Ceiling (double)'
Sie sehen "Abrunden", weil die Kürzung vor Erreichen von Math.Ceiling
erfolgt.
Wenn Sie dies tun
%Vor% Es ist eine ganzzahlige Division und das Ergebnis ist eine abgeschnittene int
; es ist zu spät, um es in decimal
zu übertragen.
Um dieses Problem zu beheben, werfen Sie vor der Teilung:
%Vor%