簡體   English   中英

使用PHP創建.xls時,乘法運算末尾帶有星號

[英]Multiplication evaluates with asterisk at the end when creating an .xls with PHP

標題可能有點令人困惑,但是我有一個電子表格生成器,在這種情況下,它用於生成一個電子表格以上傳到亞馬遜,並且我正在努力將商品價格從USD轉換為CAD。

在我的文件中,我將商品的價格存儲到$ 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>

如您所見,這樣的錯誤很容易產生並且很難發現,但這絕對是用戶錯誤的情況。 感謝大家抽出寶貴的時間來解決我的問題,最后還是我!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM