【发布时间】:2019-05-16 09:16:37
【问题描述】:
我正在尝试在面向对象的 PHP 项目中为 XML 文件做一个简单的乘法运算。
在 MariaDB 中,数据保存为 float(8.2)。我收到此错误:
ArticlePrice 类的对象无法在 [file online...] 中转换为 int 格式
$item->addChild('price', $article->getPrice(CountryPublic::getByShortCut('a')));
$item->addChild('newPrice', $productPriceNew*1.8);
然后我尝试将它转换为 float(而不是 minifloat),如下所示:
$productPrice = $article->getUsualPrice(CountryPublic::getByShortCut('a'));
$productPriceNew = (float)$productPrice*1.8;
我得到的信息是这样的:
ArticlePrice 类的对象无法转换为双精度
我做错了什么?
【问题讨论】:
-
在
$productPriceNew = (float)$productPrice*1.8;行之前写var_dump($productPrice)输出是什么? -
哪一行出现这个错误?
-
看起来您的
getPrice和getUsualPrice方法返回类对象,而不是数字。您的ArticlePrice班级是否有方法将价格作为数字获取?你需要调用它。 -
ArticlePrice不是一个标准的 PHP 类,我们只能猜测它是如何工作的。 -
总是最后一行 $productPriceNew 得到错误
标签: php oop floating-point type-conversion int