获取php双数据类型格式的值

时间:2017-04-18 21:44:26

标签: php type-conversion

$td = 4.0;
echo $td;

输出为4; 但我想要双数据类型的实数(4.0);

4 个答案:

答案 0 :(得分:3)

首先,不要挑剔,但PHP没有你想要的类型*。执行$td = 4.0;后,您已创建float

如果您使用var_dump($td);进行检查,则会看到:float 4。由于这里没有重要数字的概念,小数点后的零与存储的值无关。

其次,当您执行echo $td;时,PHP将输出float 4的字符串表示形式。同样,如果不以某种方式指定要显示 n 小数位,PHP将省略任何尾随零。再举一个例子,如果你这样做了

$td = 4.00010000;
echo $td;

你会看到

  

4.0001

这就是为什么其他答案/评论引导您走向格式化解决方案的原因。因为您真正需要做的是不更改变量的类型,因为它已经存储在适当的类型中。您只需指定在转换为字符串时应如何显示。有不同的方法可以做到这一点。如果使用printf,则可以指定要显示的小数位数。这是你如何让它显示一个,例如:

printf('%.1f', $td);

'%.1f'是格式字符串。 .1部分告诉它显示一个小数位。但你没有改变类型。它只是输出格式化。

<子> * Here's a list of PHP's native types. And I was sort of mistaken, it does indicate that float is aka double.

答案 1 :(得分:0)

您可以使用printf

echo printf("%f\n", $td);

答案 2 :(得分:0)

检查出来 - &gt; string number_format(float $ number [,int $ decimals = 0])
Doc:http://php.net/manual/en/function.number-format.php

答案 3 :(得分:0)

$td = 4.0;
echo number_format($td,1);

这将吐出4.0“1”是你想要的数字小数