Kiedy próbuję pobrać N-ty root małej liczby używając C#, otrzymuję nieprawidłowy numer.Nth root małej liczby zwraca nieoczekiwany wynik w C#
Na przykład, gdy próbuję wziąć trzeci root z wersji 1.07, otrzymuję 1, co oczywiście nie jest prawdą.
Oto dokładny kod, którego używam, aby uzyskać trzeci katalog główny.
MessageBox.Show(Math.Pow(1.07,(1/3)).toString());
Jak mogę rozwiązać ten problem?
Przypuszczam, że jest to zagadnienie arytmetyczne zmiennoprzecinkowe, ale nie wiem, jak sobie z nim poradzić.
To rzeczywiście problem, podział całkowitą. 1/3 jest obliczana jako liczba całkowita z wynikiem podziału wynoszącym 0. Tak więc naprawdę bierzesz 1.07 do potęgi 0, która wynosi 1. – tvanfosson