我们如何在PHP中的小数点前添加零?将零加到数字的小数点之前
我想.96
转换为0.96
现在在我的PHP代码,我通过使用WordPress get_attribute
获取数据
<td><?php echo $_product->get_attribute('pa_carat');?></td>
我们如何在PHP中的小数点前添加零?将零加到数字的小数点之前
我想.96
转换为0.96
现在在我的PHP代码,我通过使用WordPress get_attribute
获取数据
<td><?php echo $_product->get_attribute('pa_carat');?></td>
你想要的功能是number_format
echo number_format(0.96, 2);
或者,您可以检查并预先填写它是否丢失。
if ($num[0] == '.')
$num = '0' . $num;
这不会处理负数,但您需要为此编写更多的逻辑。
什么!这很简单..我在论坛上读取number_format,虽然它只增加了小数点后面的零。谢谢杰弗里 –
答案是正确的,我更喜欢@安德烈亚斯对我自己的回答,但它并没有使这种方法不那么准确。另外prepend选项的速度比浮动时快10倍左右,这取决于你想如何去做。那么为什么倒票呢? – Geoffrey
@Geoffrey'另外,前置选项的速度大约快10倍,然后抛出浮动'你是如何得出这个结论的?据我所知,他们相当接近 ,但实际上每次都会产生正确的floatval值。数字格式:https://3v4l.org/cFXoQ/perf#output vs floatval:https://3v4l.org/A9LKK/perf#output。即使floatval慢10倍,它仍然会给出正确的输出,而这个数字格式不会。你如何比较速度与不正确的输出? – Andreas
Floatval()
http://php.net/manual/en/function.floatval.php
返回字符串的浮点值。 不需要数字格式或ifs。
Floatval也会处理负数,例如"-.96"
。
$s = ".96";
Echo floatval($s);
[格式化在PHP前导零的数](的可能的复制https://stackoverflow.com/questions/1699958/formatting-a-number-with-leading-zeros-in -php) – jordiburgos
OP请看上面的链接。从长远来看,选择数字格式会让你头疼。 – Andreas
这里还包括sprintf。只有floatval每次都会产生正确的值。 https://3v4l.org/opkMj – Andreas