2017-08-06 39 views
-1

我们如何在PHP中的小数点前添加零?将零加到数字的小数点之前

我想.96转换为0.96

现在在我的PHP代码,我通过使用WordPress get_attribute获取数据

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

[格式化在PHP前导零的数](的可能的复制https://stackoverflow.com/questions/1699958/formatting-a-number-with-leading-zeros-in -php) – jordiburgos

+0

OP请看上面的链接。从长远来看,选择数字格式会让你头疼。 – Andreas

+0

这里还包括sprintf。只有floatval每次都会产生正确的值。 https://3v4l.org/opkMj – Andreas

回答

-1

你想要的功能是number_format

echo number_format(0.96, 2); 

或者,您可以检查并预先填写它是否丢失。

if ($num[0] == '.') 
    $num = '0' . $num; 

这不会处理负数,但您需要为此编写更多的逻辑。

+0

什么!这很简单..我在论坛上读取number_format,虽然它只增加了小数点后面的零。谢谢杰弗里 –

+0

答案是正确的,我更喜欢@安德烈亚斯对我自己的回答,但它并没有使这种方法不那么准确。另外prepend选项的速度比浮动时快10倍左右,这取决于你想如何去做。那么为什么倒票呢? – Geoffrey

+0

@Geoffrey'另外,前置选项的速度大约快10倍,然后抛出浮动'你是如何得出这个结论的?据我所知,他们相当接近 ,但实际上每次都会产生正确的floatval值。数字格式:https://3v4l.org/cFXoQ/perf#output vs floatval:https://3v4l.org/A9LKK/perf#output。即使floatval慢10倍,它仍然会给出正确的输出,而这个数字格式不会。你如何比较速度与不正确的输出? – Andreas

相关问题