將尾隨零添加到php字符串有一個文本框可以獲取價格數據。 如果有人輸入類似「3.」我想將它轉換爲「3.0」 我不能簡單地在最後附加「0」,因爲如果它是「100」被轉換爲「1000」如果格式不是
此外is_numeric(「3。」)返回1。
什麼是可能的方法?
將尾隨零添加到php字符串有一個文本框可以獲取價格數據。 如果有人輸入類似「3.」我想將它轉換爲「3.0」 我不能簡單地在最後附加「0」,因爲如果它是「100」被轉換爲「1000」如果格式不是
此外is_numeric(「3。」)返回1。
什麼是可能的方法?
您需要number_format():
number_format('3', 1, '.', ''); // = 3.0
number_format('3.', 1, '.', ''); // = 3.0
number_format('3.22', 1, '.', ''); // = 3.2
number_format('3.22abc', 1, '.', ''); // = 3.2 and a "PHP Notice: A non well formed numeric value encountered"
number_format('abc3.22', 1, '.', ''); // = "PHP Warning: number_format() expects parameter 1 to be double, string given"
謝謝你:) – amitchhajer 2012-07-05 10:38:00
如果我的電話號碼是字符串格式,該怎麼辦? floatval不會轉換它。任何想法? – amitchhajer 2012-07-05 10:46:09
我回應了結果,它是3.0 ... floatval將停止轉換第一個非數字符號,所以「3」,「3.」,「3.1234567」將工作。 「3.123456abc」會給你一個通知。 「abc123」會給你一個警告。 – 2012-07-05 10:51:24
是的,它看起來OP是想要有效的數字,所以將第四個參數從'「」改爲''''。 – 2012-07-05 10:35:16
@RogueCoder呃......這是一個疏忽。感謝通知,我編輯了答案。 – Whisperity 2012-07-05 10:38:45
您實際上需要添加''作爲第四個參數,因爲它默認爲','。 – 2012-07-05 10:49:42
嘗試將它作爲浮動首先投射,然後使用number_format對其進行格式化。
$number = (float) $_POST['text_box'];
number_format($number, 1, '.', '');
希望這有助於
搜索小數點是一個字符串的最後一個字符,如果是,後加一個零? – Jamie 2012-07-05 10:27:20
是否做到了這一點,搜索是否有一個功能可以做到這一點 – amitchhajer 2012-07-05 10:51:29