我在定義爲DECIMAL(19,4)的MySQL表中有一個貨幣列。它不是一個浮點數,所以沒有精度損失的問題。在MySQL和PHP中使用貨幣
我的問題是我如何將它取到PHP中,操作它,並將它存儲回MySQL,而不會丟失精確度。默認情況下,如果我獲取並操作它,我相信它會變成一個浮點數。
我的假設是,我可以使用以下命令:
$price = $price * 100;
$price = (int) $price;
//do some manipulation here
$price = $price/100;
//store back into MySQL database
工作的呢?
我也看過存儲爲一個整數,並使用BCMath,但我想知道如果上述將工作。
您可能會考慮在數據庫中執行所有操作。 –
與此相關的一個問題是我需要執行計算,然後要求用戶驗證他們是否要繼續。如果他們繼續,那麼我會將它添加到數據庫中。 – kojow7
你能提供一個你正在嘗試做的實際算術的更好的例子嗎?在乘以100後,你應該沒有問題,除以100乘以100。 –