Ich versuche, eine Fahrenheit-Temperatur in Celsius umzuwandeln.
Folgendes zu tun, bekomme ich immer Null:
können Sie mir helfen, es zu reparieren?
Ändern Sie Ihre Ganzzahldivision in Gleitkommadivision wie
%Vor% Von C# Specification .7.2 Division operator
;
Ganzzahlige Division:
Die Division rundet das Ergebnis auf Null und den absoluten Wert von Das Ergebnis ist die größtmögliche ganze Zahl, die kleiner als die ist absoluter Wert des Quotienten der beiden Operanden. Das Ergebnis ist Null oder positiv, wenn die beiden Operanden das gleiche Vorzeichen und Null oder haben negativ, wenn die beiden Operanden entgegengesetzte Vorzeichen haben.
Wie Frederik sagte , reicht es auch nur eine Ihrer Variablen in Gleitkomma-Typ zu changeln. ( 5 / 9f
oder 5f / 9
gibt die richtige Lösung)
Früher in den Kommentaren schlug ich die Option vor, ein struct
zu verwenden, um Ihre Temperaturkonvertierungslogik einzukapseln. Ich habe unten einen groben Hash (nur teilweise getestet), sollte es von Interesse sein:
Tags und Links c#