我有这个号码:
0.108504578471184
我想把它四舍五入,保持两个小数,我试过使用php函数round()像这样:
round(0.108504578471184, 2)
预期结果:
0.11
实际结果:0
为什么当我指定要2位小数的时候它给我的是0 ?编辑:正如在评论中所指出的,问题是代码中的其他东西。我选择了一个xml属性
$selectedMpoint->xpath('/RFile/Machine/MPoint[@No="'.$MPNo.'"]/Operation[@FrqRange="'.$MPFrqRange.'"]/QParam[@Qid="1"]/@Value')[0];
回显
echo $selectedMpoint->xpath('/RFile/Machine/MPoint[@No="'.$MPNo.'"]/Operation[@FrqRange="'.$MPFrqRange.'"]/QParam[@Qid="1"]/@Value')[0];
给我这个号码(和前面提到的一样)
0.1085045784711840
但是当我尝试对它使用round()时它只会给我0,我试着把它放入一个变量中因为我认为它可能会像最后的[0], 2
一样把它弄乱,但我仍然得到0e
round($selectedMpoint->xpath('/RFile/Machine/MPoint[@No="'.$MPNo.'"]/Operation[@FrqRange="'.$MPFrqRange.'"]/QParam[@Qid="1"]/@Value')[0], 2
虽然round(0.108504578471184, 2)
为我产生0.11
,但您可以尝试使用number_format:
(float) number_format(0.108504578471184, 2);