Dlaczego wynik sqrt
nie jest liczbą całkowitą dla "16" w PHP?Pierwiastek kwadratowy w PHP
Przykład
php > $fig = 16;
php > $sq = sqrt($fig); //should be 4
php > echo $sq;
4
php > echo is_int($sq); // should give 1, but gives false
php >
czuję, że problem jest w wewnętrznej prezentacji, która ukrywa PHP podobnie jak Python. Skąd możesz wiedzieć, kiedy podana liczba jest liczbą całkowitą po zrobieniu pierwiastka kwadratowego?
Jak można rozróżnić między 4
i 4.12323
w PHP bez użycia wyrażenia regularnego?
Twoje pierwsze polecenie nie działa dla mnie, ale ostatnie działa. –
Masz rację. Ten pierwszy działa również teraz. Sprawdziłem to dwukrotnie, zanim opublikowałem edycję. – Jason
Na marginesie, testowanie liczby całkowitej za pomocą (float% 1) działa w JavaScript i MySQL, po prostu nie w PHP, który wymaga fmod() zamiast%. – Jason