2015-09-26 37 views
0

我正在解析文件並將數據從中拉出。其中一條數據是小數點,例如1.9。PHP類型將字符串轉換爲整數

由於某些原因,當我試圖保存到我的MySQL表時,它一直保存爲0.字段類型是表中的十進制(6,2)。

我試圖使用各種php函數手動投它如...

的setType(),(INT),(浮動),(雙)等每次我投它,這將其設置爲零或布爾值。我用gettype來檢查它。

解析它時,我使用trim()和str_replace()函數來刪除空格。奇怪的是,我使用相同的方法從相同的文件中提取其他值/小數,php處理了套管本身。

任何想法有什麼可能阻止我把它作爲一個數字?

+0

'floatval'應該做你需要什麼http://php.net/manual/en/function.floatval.php – dbarthel

+0

感謝您的建議。我曾嘗試過,但仍將其設置爲零。我想還是有一些人物形象妨礙了這些功能的發揮。我最終使用這個來清除所有字符。 $ dim = preg_replace(「/ [^ 0-9。] /」,「」,$ dim) - 這似乎解決了這個問題。不知道它是最有效的方式來處理這個,但它現在工作。不熟悉使用正則表達式。儘管感謝您的建議。 – Timothy

回答

1

所以這是解決我遇到這種情況的人遇到的問題。不知道這是處理它的最好方法,但它工作。

$dim = preg_replace("/[^0-9.]/", "", $dim)