Php 在数字的小数点前加零

Php 在数字的小数点前加零,php,wordpress,formatting,leading-zero,Php,Wordpress,Formatting,Leading Zero,在PHP中,我们如何在小数点前添加一个零 我想将.96转换为0.96 现在在我的php代码中,我使用wordpressget\u属性来获取数据 <td><?php echo $_product->get_attribute('pa_carat');?></td> 您想要的功能是 或者,如果它丢失了,您也可以检查并预先添加它 if ($num[0] == '.') $num = '0' . $num; 不过,这不会处理负数,您需要为此编写更多的逻

在PHP中,我们如何在小数点前添加一个零

我想将
.96
转换为
0.96

现在在我的php代码中,我使用wordpress
get\u属性来获取数据

<td><?php echo $_product->get_attribute('pa_carat');?></td>

您想要的功能是

或者,如果它丢失了,您也可以检查并预先添加它

if ($num[0] == '.')
  $num = '0' . $num;
不过,这不会处理负数,您需要为此编写更多的逻辑。

Floatval()

返回字符串的浮点值。 不需要数字格式或ifs。
Floatval还将处理负数,如
“-.96”


什么!那很简单。。我在论坛上读到数字格式,虽然它只在小数点后加零。谢谢Geoffreyth答案是正确的,我确实更喜欢@Andreas的答案而不是我自己的答案,但这并不会降低这种方法的准确性。此外,预弯选项的速度大约是铸造到浮动的速度的10倍,这取决于您想要如何操作。那么为什么会有反对票呢?@Geoffrey
另外,prepend选项比casting to float快10倍左右
你是怎么得出这个结论的?据我所知,它们非常接近,但floatval的额外好处是每次都能生成正确的值。数字格式:vs floatval:。即使floatval慢10倍,它仍能给出正确的输出,而数字格式则不然。你如何比较速度和不正确的输出?@Andreas:如果你知道你的数字总是正值,而负值是一个错误,那么执行更快的操作是安全的。您在测试中将
number\u格式
floatval
进行了比较
number\u格式
floatval
将字符串转换为float,然后从float转换回字符串,这是一个缓慢的操作。只要检查字符串中是否有“.”并在“0”前面加上前缀,就不会执行任何类型转换。@Geoffery我以为数字格式是你的答案。前置部分甚至不是完整的代码。它只处理一种情况。在我看来,答案应该能处理所有情况(至少在正常范围内)。只包含以
开头的正数的代码是很弱的。在我看来,负数和整数也应该起作用。一旦所有的代码都运行了,我们就可以模拟一组数字,看看哪一个最快。说你的非完整答案快了10倍,这不是真的。看看上面的链接,可能是OP的重复。从长远来看,选择数字格式会让你头疼。每次仅floatval生成正确的值。
if ($num[0] == '.')
  $num = '0' . $num;
$s = ".96";
Echo floatval($s);