在使用PHP创建.xls时,乘法在结尾处使用星号进行求值

时间:2017-08-01 14:59:24

标签: php xls

标题可能有点令人困惑,但我有一个电子表格生成器,在这种情况下,它用于生成一个电子表格上传到亚马逊,我正在努力转换物品的价格从美元到加元。

在我的文件中,我将商品的价格存储到$ price_amazon中,然后我将其乘以用户输入的任何内容并存储到自身中。像这样;

$conversion = $row['rate'];
$price_amazon = $row['price'];

$price_amazon = $price_amazon*$conversion
#Evaluates to:
#19.99*1.24

问题在于,一旦电子表格加载,我的价格字段将具有正确的值,在这种情况下为24.7876但在结尾处带有星号,因此为24.7876 *。价格的所有单元格最后都有一个星号,而且我不确定究竟发生了什么。下图显示了我正在谈论的内容,直接来自电子表格。

asterisk

2 个答案:

答案 0 :(得分:1)

然后只需删除字符串末尾的asterix并将值转换为float:

$price_amazon = (float) substr($row["price"], 0, -1);

甚至只是与float的类型对话从末尾删除了星号:

$price_amazon = (float) $row["price"];

答案 1 :(得分:1)

找出问题所在。用户错误!在我的剧本中,我将所有变量都回显到他们必要的单元格中,我发了一个星号,试图做上帝知道什么。这就是它的样子

echo "<table>\n";
echo "<tr>
<td>$price_amazon*</td>

正如您所看到的,这样一个非常容易犯的错误很难找到,但这肯定是用户错误的一个例子。我感谢大家花时间帮助解决我的问题,最后问题就在于我!