[英]PHP remove decimal from number string
我有一個算法,給出一個帶小數點的數字(IE“.57”)。 我想做的就是得到沒有小數的“57”。
我用過eregi_replace和str_replace都沒用過!
$one = ".57";
$two = eregi_replace(".", "", $one);
print $two;
$one = '.57';
$two = str_replace('.', '', $one);
echo $two;
這樣可行。 100%測試。 順便說一下,所有ereg(i)_ *函數都是折舊的。 如果需要正則表達式,請使用preg_ *。
Method Result Command
x100 57 ((float)$one * 100))
pow/strlen 57 ((float)$one * pow(10,(strlen($one)-1))))
substr 57 substr($one,1))
trim 57 ltrim($one,'.'))
str_replace 57 str_replace('.','',$one))
只是嘲笑其他一些獲得相同結果的方法
$number = ltrim($number, '.');
這會刪除所有尾隨點。
你說你試過使用str_replace沒有任何運氣,但下面的代碼完美地運行:
<?php
$one = '.57';
$two = str_replace('.', '', $one);
echo $two;
?>
我用過eregi_replace和str_replace都沒用過!
那么... ereg_replace()
將不起作用,因為它使用常規表達式,並且.
(點)字符有一個特殊的含義: 一切 (所以你已經將每個字符替換為“”(空字符串))。
但str_replace()
在這種情況下工作得非常好。
這是一個現場測試: http : //ideone.com/xKG7s
這將以整數形式返回。
$two = (integer) trim('.', $one);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.