PHP中带小数的负数到正数

PHP中带小数的负数到正数,php,decimal,Php,Decimal,我正在创建一个基于xml的导入。从XML中我得到了一些负值,比如-316.65 在将这些值保存到数据库之前,我必须将它们转换为正数。我尝试了以下方法: $amount = $inkoopfactuur->td[7] * -1; 这是可行的,但小数消失了 有没有办法在不丢失小数的情况下转换这个值 提前谢谢 有一种更好的方法: $amount = abs($inkoopfactuur->td[7]); 但是,整数舍入可能是其他原因造成的——问题中没有足够的信息可以确定。有更好的方法可

我正在创建一个基于xml的导入。从XML中我得到了一些负值,比如-316.65

在将这些值保存到数据库之前,我必须将它们转换为正数。我尝试了以下方法:

$amount = $inkoopfactuur->td[7] * -1;
这是可行的,但小数消失了

有没有办法在不丢失小数的情况下转换这个值


提前谢谢

有一种更好的方法:

$amount = abs($inkoopfactuur->td[7]);

但是,整数舍入可能是其他原因造成的——问题中没有足够的信息可以确定。

有更好的方法可以做到这一点:

$amount = abs($inkoopfactuur->td[7]);

但是,整数舍入可能是其他原因造成的——问题中没有足够的信息可以确定。

您可能有不同的语言环境


选中

您可能有不同的语言环境


猜一猜,用1.0而不是1.floatval($inkoopfactuur->td[7])来保留小数,然后再使用abs(),这很有效,但它取代了。对于一个,像这样-100.95到这个100,95floatval()用逗号替换了一个点???它所做的是将一个字符串转换为一个浮点数,而不是逗号。#@MarkBaker,是的,这是正确的!猜测一下,在使用abs()之前,用1.0而不是1.floatval($inkoopfactuur->td[7])来保留小数。这很有效,但它取代了。对于一个,像这样-100.95到这个100,95floatval()用逗号替换了一个点???它所做的是将一个字符串转换为一个浮点数,而不是逗号。#@MarkBaker,是的,这是正确的!谢谢,但我还是拿到了四舍五入。使用该函数后,我将结果直接保存到数据库中。谢谢,但我仍然得到了舍入。使用该函数后,我将结果直接保存到数据库中