当创建带有 PHP 的 .xls 时,乘法在最后用星号求值
Multiplication evaluates with asterisk at the end when creating an .xls with PHP
标题可能有点令人困惑,但我有一个电子表格生成器,在这种情况下,它用于生成一个电子表格以上传到亚马逊,我正在努力将商品的价格从美元兑加元。
在我的文件中,我将商品的价格存储到 $price_amazon 中,然后我将它乘以用户输入的任何内容并存储到自身中。像这样;
$conversion = $row['rate'];
$price_amazon = $row['price'];
$price_amazon = $price_amazon*$conversion
#Evaluates to:
#19.99*1.24
问题来了,加载电子表格后,我的价格字段将具有正确的值,在本例中为 24.7876,但末尾有一个星号,因此为 24.7876*。所有价格单元格的末尾都有一个星号,我不确定到底发生了什么。下图准确地显示了我在说什么,直接取自电子表格。
然后只需删除字符串末尾的星号并将值转换为浮点数:
$price_amazon = (float) substr($row["price"], 0, -1);
甚至只是与 float
的类型对话都会删除末尾的星号:
$price_amazon = (float) $row["price"];
解决了问题。用户错误!在我的脚本中,我将所有变量回显到它们必要的单元格中,我笨手笨脚地按下星号键,试图做天知道的事情。这是它的样子
echo "<table>\n";
echo "<tr>
<td>$price_amazon*</td>
如您所见,这种错误很容易犯,而且很难发现,但这绝对是用户错误的案例。我感谢大家花时间帮助解决我的问题,但最终问题出在我身上!
标题可能有点令人困惑,但我有一个电子表格生成器,在这种情况下,它用于生成一个电子表格以上传到亚马逊,我正在努力将商品的价格从美元兑加元。
在我的文件中,我将商品的价格存储到 $price_amazon 中,然后我将它乘以用户输入的任何内容并存储到自身中。像这样;
$conversion = $row['rate'];
$price_amazon = $row['price'];
$price_amazon = $price_amazon*$conversion
#Evaluates to:
#19.99*1.24
问题来了,加载电子表格后,我的价格字段将具有正确的值,在本例中为 24.7876,但末尾有一个星号,因此为 24.7876*。所有价格单元格的末尾都有一个星号,我不确定到底发生了什么。下图准确地显示了我在说什么,直接取自电子表格。
然后只需删除字符串末尾的星号并将值转换为浮点数:
$price_amazon = (float) substr($row["price"], 0, -1);
甚至只是与 float
的类型对话都会删除末尾的星号:
$price_amazon = (float) $row["price"];
解决了问题。用户错误!在我的脚本中,我将所有变量回显到它们必要的单元格中,我笨手笨脚地按下星号键,试图做天知道的事情。这是它的样子
echo "<table>\n";
echo "<tr>
<td>$price_amazon*</td>
如您所见,这种错误很容易犯,而且很难发现,但这绝对是用户错误的案例。我感谢大家花时间帮助解决我的问题,但最终问题出在我身上!