2016-04-20 54 views
-1

我需要在MySQL中存儲用戶提交的所有價格。提交的用戶可以包含這些格式的價格:PHP/MySQL轉換並保存格式化的價格

123.456,78 (ARG format) 
123,456.78 (US format) 
    123456,78 (ARG simplified format) 
    123456.78 (US simplified format) 

在MySQL中,我有一個decimal類型命名爲「價格」一欄。

我的問題是,如何將這些格式轉換爲decimal以將它們保存在我的數據庫中?或者,如何將值轉換爲「ARG簡化格式」以將所有格式保存爲varchar?我需要所有格式相同(小數點後兩位)。

+0

爲什麼反對票?解釋你的理由...... – Manux22

+2

你爲什麼不限制用戶輸入,以便用戶輸入後即可格式化貨幣? PS:我沒有投票給你。另外,因爲你是一個新的堆棧用戶,請確保你閱讀[我如何問一個好問題?](http://stackoverflow.com/help/how-to-ask)。 GL –

+0

這是一個應用程序問題。嘗試在SQL中執行它會很笨拙。這樣想:數據庫用於數據;格式(傳入或傳出)應由應用程序處理。 (不,我沒有讓你失望。) –

回答

1

我試圖用your previous question來幫助你,這與此類似。

我的解決辦法是限制/格式化客戶端上的用戶輸入,您可以使用的0.01html5輸入type=numberstep(增量)。

<input type="number" step="0.01" value='0.00' placeholder='0.00'>


注:

確保您驗證在服務器端的值了。

+1

是的,不好意思,但是在前面的問題中,我表達錯了,@PedroLobito有理由。對我來說寫英文不太容易,對不起。 這是一個解決方案,但在我的國家,小數由逗號分隔(但這不是問題)。我避免了這個解決方案,因爲我已經準備好使用其他格式了。但我認爲沒有其他解決方案。謝謝 – Manux22