Czy ktoś mógłby mi powiedzieć, dlaczego te dwa obliczenia modułu dają dwa różne wyniki? Po prostu muszę winić kogoś lub coś, oprócz mnie, przez te wszystkie godziny, że straciłem ten błąd.Moduł daje zły wynik?
public void test1()
{
int stepAmount = 100;
float t = 0.02f;
float remainder = t % (1f/stepAmount);
Debug.Log("Remainder: " + remainder);
// Remainder: 0.01
float fractions = 1f/stepAmount;
remainder = t % fractions;
Debug.Log("Remainder: " + remainder);
// Remainder: 0
}
Korzystanie VS-2017 V15.3.5
Za to, co jest warte, nie mogę tego odtworzyć na VS for Mac v7.2 (636). Obie reszty to '0.0' – InBetween
Dotnetfiddle pokazuje 0 dla obu wyników: https://dotnetfiddle.net/XTHswt Wypróbowałem dokładnie ten sam kod co w linku dotnetfiddle z https://www.jdoodle.com/compile-c -Sharp-online i pokazuje problem, który opisujesz. – TyCobb
Powtarzalne tutaj: https://ideone.com/JHomEl – Ryan