Я извлекаю данные из базы данных JSON, которая хранит время в unix-эпоху, но по какой-то причине числа плавают, когда я их вытаскиваю. Это то, с чем мне никогда не приходилось сталкиваться раньше. Так что обычно число, например 1293083730000 появляется как 1.293085408E+12 Мне нужно вернуть номер в эпоху, чтобы сравнить его с текущим временем. Любая помощь […]
Возможный дубликат: Точность вычисления PHP float когда я выполнил код ниже в eclipse, результат был не 0, а 5.5511151231258E-17 $a = 0.1+0.2-0.3; echo $a; может кто-нибудь сказать мне, почему?
Я знаю формуляр для преобразования от степени к Miliseconds и наоборот. Он может быть реализован следующим образом: protected function decimal_to_milisecond($dec) { if (!empty($dec)) { $vars = explode(".",$dec); if (count($vars) == 2) { $deg = $vars[0]; $tempma = "0.".$vars[1]; $tempma = $tempma * 3600; $min = floor($tempma / 60); $sec = $tempma – ($min*60); return round((((($deg […]
Как мы все знаем, арифметика с плавающей запятой не всегда полностью точна, но как вы справляетесь с ее несогласованностью? В качестве примера, в PHP 5.2.9: (этого не происходит в 5.3) echo round(14.99225, 4); // 14.9923 echo round(15.99225, 4); // 15.9923 echo round(16.99225, 4); // 16.9922 ?? echo round(17.99225, 4); // 17.9922 ?? echo round(25.99225, 4); […]
Я хочу написать массив чисел с плавающей запятой в файлы <?php $x=[0.000455,0.000123,0.00005690330203]; $fname='test.txt'; $str=''; foreach($x as $elem){ $str .= "$elem\n"; } file_put_contents($fname,$str); ?> но в test.txt, я вижу 0.000455 0.000123 5.690330203E-5 Я не хочу, чтобы число точек с плавающей точкой отображалось в научной / экспоненциальной форме, я надеюсь, что они сохраняют исходную форму, кроме того, […]
Почему на PHP PHP преобразует результат (int) ((0.1+0.7)*10) в 7, а не 8? Я знаю, что результат будет (float) 8 когда он будет передан (int) результат будет равен 7? Почему это происходит?
Поскольку тип данных float в PHP неточен, а FLOAT в MySQL занимает больше места, чем INT (и является неточным), я всегда храню цены как INT, умножая на 100 до хранения, чтобы обеспечить ровно 2 десятичных знака точности , Однако я считаю, что PHP не прав. Пример кода: echo "<pre>"; $price = "1.15"; echo "Price = […]
Я пытаюсь установить дельта, мне нужно, когда вы делаете float-сравнение в PHP. Я хочу более внимательно рассмотреть мои переменные, чтобы увидеть разницу. У меня есть 2 вычисленных переменных, $ a, $ b. $a = some_function(); $b = some_other_function(); Как я могу увидеть точное число, которое использует PHP? Я хочу сравнить их с этой формулой, где […]
Я ввожу '35444650.00' в качестве плавающего в мой MySQL, и он переформатирует до 35444648.00, любая помощь приветствуется …
Я хочу убедиться, что float в PHP округляется, если присутствует какая-либо десятичная дробь, не беспокоясь о правилах математического округления. Эта функция будет работать следующим образом: 1.1 to 2 1.2 to 2 1.9 to 2 2.3 to 3 2.8 to 3 Я знаю, что существует функция round() но я не вижу никакой функции для округления, если […]