我有一个算法,它给出一个带小数点的数字(I.E.“。57”)。我想做的就是得到没有小数的“57”。
我使用过eregi_replace和str_replace,但都没有用过!
$one = ".57";
$two = eregi_replace(".", "", $one);
print $two;
答案 0 :(得分:7)
$one = '.57';
$two = str_replace('.', '', $one);
echo $two;
有效。 100%测试。顺便说一下,所有ereg(i)_ *函数都是折旧的。如果你需要正则表达式,请使用preg_ *。
答案 1 :(得分:3)
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))
只是展示了获得相同结果的其他方法
答案 2 :(得分:2)
$number = ltrim($number, '.');
删除所有尾随点。
答案 3 :(得分:1)
你说你试过使用str_replace没有任何运气,但下面的代码完美无缺:
<?php
$one = '.57';
$two = str_replace('.', '', $one);
echo $two;
?>
答案 4 :(得分:1)
我使用过eregi_replace和str_replace,但都没有用过!
嗯... ereg_replace()
无效,因为它使用常规表达式,.
(点)字符具有特殊含义:一切(所以你已经将每个字符替换为“”(空字符串))。
但str_replace()
在这种情况下绝对正常。
这是一个实时测试:http://ideone.com/xKG7s
答案 5 :(得分:0)
这将以整数形式返回。
$two = (integer) trim('.', $one);