2013-03-21 83 views
1

我有一個簡單的表單,用戶輸入一個數字(產品價格),以及以零(1.50)結尾的很多時間。 但MYSQL不斷刪除零的最終使他們1.5而不是1.50。mysql在開始和/或結束時不斷刪除零。

我在表中使用字段類型double,並且php代碼是一個帶有1個將數字傳遞給數據庫的文本框的簡單表單。

+1

[格式](http://us.php.net/number_format)在將值顯示給用戶之前的值。不要使用浮動來表示價格,請使用'DECIMAL'。 – DCoder 2013-03-21 09:29:48

回答

0

DCoder應該發表評論作爲答案。
您需要使用DECIMAL來表示價格,然後您將有尾隨零。
你應該總是格式化輸出。

+0

感謝您的快速回復球員,它似乎我有錯誤的字段類型,將其更改爲十進制,但它隨後將所有內容舍入。但似乎我有錯誤的設置應該是十進制(4,2),而不是十進制(10,0),這是默認添加的。現在全部解決了:)再次感謝! – user2194285 2013-03-21 15:08:42

1

數字沒有前導或尾隨零。 1.51.50的值相同,與1.5000000000的值相同。數字類型不保存格式,它們保存。如果需要,可以在輸出上格式化該值,如果需要保存文字值,則使用文本類型。

0

你可以在數據庫中存儲1.5,但是如果你想顯示它1.5000000那麼這是可能的。 你可以這樣使用LPAD來做到這一點。 Lpad用於在左側添加零,Rpad用於在右側添加零。

SELECT LPAD('1.5', '10', '0') 
SELECT RPAD('1.5', '10', '0') 

請給予答覆,如果它的工作原理。