2012-08-09 53 views
0

我正在創建一個用戶必須輸入多個數字的網站。
Theese號已被驗證(非法字符等),並將其轉換爲格式:PHP中的數字轉換

1234.56 

我的問題是我怎麼轉換(由於不同的國家符號)十進制/千的不同組合-delimiters:

1234,56/1.234,56/1234.56/1,234.56 

預期的結果應該永遠是:1234.56

+1

定義*用戶應該如何輸入數字,至少是小數點分隔符是什麼。 – deceze 2012-08-09 08:38:49

+0

你能否假設總會有兩位小數? ..或者總會有小數? – MatsLindh 2012-08-09 08:41:59

+0

不幸的是我不能承擔任何事情。 這是一個沒有客戶端驗證的輸入字段,所以用戶可能(錯誤地)鍵入alpha-chars,在這種情況下,我的validaion函數應該返回一個錯誤。 所以我必須做所有的驗證服務器端 – user1586912 2012-08-09 09:07:44

回答

1

如果你總是有2位小數(至於價格左右),你可以只取最後一個點或逗號,在此位置拆分輸入字符串並刪除所有非數字字符(和。在你的情況)從第一部分。

如果你不能保證有兩位小數,你需要通過檢查,如果在最後一個分隔符後面有3個數字(以確定是否有小數位),會變得棘手。

由於顯然您需要支持更大的一組國家,所以通用解決方案可能是最佳選擇。也許有一些Javascript,它也解決了這個問題(在提交表單之前轉換數字)。