-3

我正在尝试执行此操作:

$math = 1.30644 - 1.3063

我希望结果以这种方式有所不同:

1.4(即 64,4 - 63),因为我正在处理 PIPS。我怎样才能达到这个结果。

我尝试了什么:

$math = 1.30644 - 1.3063

echo $math; // output -0.3063 I want it to output 1.4
4

5 回答 5

1

你不能把输出乘以 10000 吗?

echo (1.30644 - 1.3063) * 10000;
于 2013-05-02T20:03:45.363 回答
1

这应该完全符合您的要求:

$math = 1.30644 - 1.3063;
while ($math < 1) {
    $math *= 10;
}
var_dump($math);
//float(1.4000000000003)

round您可以使用该函数对结果进行四舍五入。

它适用于任何数字:

$math = 64.4 - 63;
while ($math < 1) {
    $math *= 10;
}
var_dump($math);
//float(1.4)
于 2013-05-02T20:10:41.160 回答
1

您可以使用此功能让您轻松:

function diff($a, $b)
{
    return round(($a - $b) * 10000, 2);
}

$diff = diff(1.30644, 1.3063);
echo $diff; //Output: 1.4

请注意,PHP 是松散类型,因此使用 int 或 double 数字并不重要。

如果你愿意

diff(60.430, 60.470)

然后你会得到 -400,如果你希望所有数字都以 10.000 为底,这是正确的。点的数量无关紧要。

如果您想要更好的答案,那么您必须改进您的问题。

于 2013-05-02T20:10:53.053 回答
0
$math = round((1.30644 - 1.3063) * 10000,2);
echo $math //1.4
于 2013-05-02T20:08:20.493 回答
0

尝试这个

$a = 1.30644;
$b = 1.3063;
$c = $a-$b;
echo $c;

或者,如果您想从正确使用中删除三个零

echo $c*10000;

你可以直接使用

$a= (1.30644-1.3063)*10000;
echo $a;
于 2013-05-02T20:11:04.090 回答