Могу ли я запретить этой операции возвращать ответ в научной нотации? - PullRequest
3 голосов
/ 17 марта 2011

У меня есть довольно простая формула, хотя она включает в себя большое число, которое в основном это:

$one = 1300391053;   
$two = 0.768;

// $millitime = 1.30039116114E+12    
$millitime = ($one+$two)*1000;

Я понимаю, что это технически правильный ответ, но я ожидаю получить 1300391053768. Цель этого - получить время в миллисекундах. Я мог бы объединить два и удалить десятичную дробь, хотя это немного странно.

Есть ли способ заставить это правильно хранить?

[в качестве примечания, похоже, что не все установки справляются с этим одинаково. Моя локальная установка PHP (v5.3 на MacOS) возвращает нотацию sci, но я запускаю идентичный код writecodeonline.com и получаю то, что ожидаю / хочу ]

Ответы [ 3 ]

5 голосов
/ 17 марта 2011

Используйте это, чтобы напечатать это в "стандартной" нотации,

$big_integer = 1202400000;  
$formatted_int = number_format($big_integer, 0, '.', ''); 
echo $formatted_int; //outputs 1202400000 as expected 

$sample_float = (float)100000 //float; 
$formatted_float = number_format($sample_float, 2, '.', ''); 
echo $formatted_float; //outputs 100000.00 as expected

Полагаю, эти примеры помогут

3 голосов
/ 17 марта 2011

попробуйте использовать php's number_format ()

так:

$one = 1300391053;   
$two = 0.768;
$millitime = number_format(($one+$two)*1000);
1 голос
/ 17 марта 2011

Что такое "правильно хранить"? Если вы используете print_r($millitime);, вы получите 1300391053768. Значение хранится «правильно», единственный вопрос - как вы хотите отформатировать вывод. Вы можете использовать number_format или sprintf .

* * 1010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...