Hallo Fellow stackoverflowers Aufrunden,VB Script Integer-Division vs Float der Division
Ich habe ein Problem mit einer Formel aus classic asp
VBscript
-C# .net
Umwandlung Ich brauche c#
auf das Ergebnis der VBScript
so geht
Dim dTravelHours, result
dTravelHours = 22.7359890666919
result = (CDbl(dTravelHours)*2 + 2)\8
Mathematisch ist das Ergebnis 5,9331475 aber da ich eine ganze Zahl Divi verwendet sion statt Dezimalteilung „/“ Das Ergebnis ist 5, ich dieses Ergebnis in C# richtig bekommen kann einfach durch das Ergebnis Typumwandlung
jedoch in int, wenn ich einen anders Wert verwendet:
Dim dTravelHours, result
dTravelHours = 22.7359890666919
result = (CDbl(dTravelHours)*2 + 2.5)\8
die mathematischen Ergebnis ist 5.9956475 und vbScript Ergebnis ist 6
das gleiche mit 5,9456475 dem vbscript
Ergebnis 6
Wie kann ich das gleiche Verhalten in C#
replizieren? Ich habe schon versucht mit Math.Floor,
Math.Ceiling
, Math.Round
aber immer noch nicht gut.
Vielen Dank im Voraus für Ihre Antworten und Anregungen
Math.Ceiling (5,9956475) 6, das ist, was Sie mit der rechten wollen? –
Ja das ist korrekt, aber in VBScript 5.9331475 ist 5, da es Ganzzahl Divison verwendet, aber 5.9956475 ist 6, wenn ich einfach Ceiling in C# verwenden wird beide ein Ergebnis von 6 haben, das ist nicht das gleiche Ergebnis mit dem in VBScript, – GulpasaurusRex
Also 5.9331475 sollte 5 und 5.9456475 sollte 6 sein? Was ist die Regel dafür? –