Изначально я подумал, что Math.Sign будет правильным способом, но после запуска теста оказалось, что он обрабатывает -0.0 и +0.0 одинаково.
Math.Sign
-0.0
+0.0