2015-10-05 76 views
1

我有一個名爲「價格」的表,其中一個字段名稱爲「值」,並設置爲十進制。 我希望能夠插入一個字符串,如「3.5 $」,並且MySQL會插入數字「3.5」。 迄今爲止沒有成功。如何在mysql中將字符串保存爲小數?

+0

刪除'$'標誌。 – RubahMalam

+0

貨幣,日期格式等屬於視圖。如果你傳遞簡單的數字,你的生活將變得更加簡單:) – JimL

+0

在發送到MySQL之前,只需要執行'floatval($ theNumber)'。 –

回答

1

使用floatval

$NumberWithString = 3.5$; 
floatval($NumberWithString); 

<?php 
    $var = '122.34343The'; 
    $float_value_of_var = floatval($var); 
    echo $float_value_of_var; // 122.34343 
?> 

編輯01

或者使用preg_replace

$newNumber = preg_replace('/&#36;/', '', $NumberWithString); 
+0

不工作的字符串是「$ 12.345」 – user3800799

+0

@ user3800799檢查**編輯01 ** –

+0

@ user3800799高興地幫助:) –

1
update yourtable 
set yourdecimal = cast('3.7$' as decimal(10,2)) 
where id = 1 
+1

@ user3800799 - 這幾乎是正確的答案。因爲在你的評論中你陳述了「我認爲mysql有一種方法」。我相信OP是想插入然而 – Jesse

相關問題