PHP показать число с плавающей точкой в ​​строке - PullRequest
0 голосов
/ 20 января 2019

Я хочу показать число с плавающей точкой в строке php.

что-то вроде:

My float number is: 0.00003485

Но когда я использую эхо, я вижу это так:

My float number is: 3.485E-5

Кроме того, я знаю, что могу использовать printf("%.10f",$float) код, но мне нужно использовать его во многих местах в моей строке, поэтому я не могу использовать printf.

Какой код я должен использовать для строки, чтобы показать плавающие элементы как они есть?Я не хочу этот короткий номер (3.485E-5).

Ответы [ 3 ]

0 голосов
/ 20 января 2019

При некоторых условиях я предпочитаю объявление числа с плавающей точкой в ​​виде строки:

MyFloatNumber = "0,0000000000000000000000003485";

так

echo MyFlatNumber; //0.0000000000000000000000003485

0 голосов
/ 20 января 2019

Я знаю, что могу использовать printf("%.10f",$float) код, но мне нужно использовать его во многих местах моей строки, поэтому я не могу использовать printf.

Мне нужноС уважением не согласен с этим:

printf('My float number is: %1$.8f (again: %1$.8f; once more: %1$.8f)', 0.00003485);

Или, если вам нужно в строке:

$foo = sprintf('My float number is: %1$.8f (again: %1$.8f; once more: %1$.8f)', 0.00003485);

Конечно, если вы имеете в виду, что это противоречит руководству по стилю проекта или политике компании, это другоеstory.

Какой код следует использовать в строке, чтобы отобразить поплавки такими, какие они есть?

Правда?Плавающие в PHP - это 64-битные IEEE 754 битовые карты формата двойной точности.Согласно этому онлайн-конвертеру , число 0.00003485 будет:

0010010001010111110011100001110100101110111001001111

Конечно, они не являются фактическими и равны нулю, а имеют разные уровни напряжения; -)

0 голосов
/ 20 января 2019

Вы можете написать функцию, которая будет обрабатывать это любым удобным для вас способом. Почему нет?

function fval($f, $precision = 9) { 
    return number_format($f, $precision); 
}

Тогда в любом месте, которое вам нужно отформатировать, вызовите его:

$f = 3.485E-5;
echo fval($f);  // this will print: 0.000003485
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...