У меня есть строка вроде этого: 9.018E-14 Теперь я хочу преобразовать его в нормальные десятичные числа.
У меня есть lat и lng от пользователя из базы данных в массиве, и у меня есть lat и lng Теперь я хочу рассчитать расстояние и отсортировать пользователей из моей базы данных с этим $mylat = $_SESSION['lat']; $mylng = $_SESSION['lng']; $statement = $pdo->prepare("SELECT * FROM users"); $statement->execute(); $users = $statement->fetchAll(); foreach($users as $row){ $dist = […]
Я хочу округлить число, и мне нужно собственное целое число, потому что я хочу использовать его в качестве ключа массива. Первое «решение», которое приходит на ум, – это: $key = (int)round($number) Однако я не уверен, что это всегда будет работать. Насколько я знаю (int) просто усекает любые десятичные числа, и поскольку round($number) возвращает float с […]
я пробовал $x = cos(deg2rad($angle)); но он возвращает 6.12323399574E-17, когда угол составляет 90 градусов вместо 0. Я читал, что это проблема с плавающей точкой, но есть ли обходной путь?
Предположим, у меня есть байтовый поток, в котором я знаю местоположение 64-битного значения (64-разрядное nonce). Байт-порядок – Маленький-Endian. Поскольку целочисленный тип данных PHP ограничен 32-разрядными (по крайней мере, в 32-разрядных операционных системах), как бы преобразовать байтовую последовательность в числовое представление PHP (по-моему, достаточно плавать)? $serverChallenge = substr($bytes, 24, 8); // $serverChallenge now contains the byte-sequence […]
У меня есть странный математический расчет здесь. Надеюсь, кто-то объяснит. $a = 1.85/100; $b = 1.5/100; $c = 1.1/100; $d = 0.4/100; $e = 0.4/100; $f = 0.4/100; $g = 0.4/100; $h = $a + $b + $c + $d + $e + $f + $g; echo $h*100 ."<br>"; $i = $h-$a; $i = $i-$b; […]
Есть ли способ программно получить максимальное значение float для php. Сродни FLT_MAX или std::numeric_limits< float >::max() в C / C ++? Я использую что-то вроде следующего: $minimumCost = MAXIMUM_FLOAT_VALUE??; foreach ( $objects as $object ) { $cost = $object->CalculateCost(); if ( $cost < $minimumCost ) { $minimumCost = $cost; } } (используя php 5.2)
echo (int) ( (0.1+0.7) * 10 ); Почему приведенный выше вывод 7? Я понимаю, как PHP округляется к 0, но не (0.1+0.7) * 10 оценивается как float и затем отливается как целое число? Благодаря!
Я хочу преобразовать значение float (например: 1.0000124668092E + 14) в Integer в php, какой лучший метод для этого в php.output должен быть «100001246680920»
У меня есть список строк (размер в байтах), я читаю их из файла. Скажем, одна из строк – 2968789218, но когда я конвертирую ее в float, она становится 2.00. Это мой код: $string = "2968789218"; $float = (float)$string; //$float = floatval($string); //the result is same // result 2.00 Кто угодно? решаемая На самом деле проблема […]