我在数字中得到了一个字符串值,就像2345.567一样,我希望在十进制之后只保留一个字符。我不想使用任何数字函数,我只是想删除任何字符后的句点(点)?
发布于 2012-07-28 07:34:31
<?php
$str = "2345.567";
$ip = explode('.',$str);
echo $ip[0].".".substr($ip[1],0,1)
?>
编辑后:
<?php
// case: if there is no decimal place
echo $ip[0]."".($ip[1]?".".substr($ip[1],0,1):'');
?>
发布于 2012-07-28 07:40:10
如果您担心输入不是一个数字,您应该首先验证它:
function round_number($number, $precision = 1) {
if(!is_numeric($number)) {
throw new InvalidArgumentException("round_number() expects a numeric type, instead received '".gettype($number)."'");
}
return round($number, $precision);
}
参考资料:
发布于 2012-07-28 07:25:50
$number = 2345.567;
$new_numb = number_format($number,1);
$new_numb将被视为字符串。
https://stackoverflow.com/questions/11699135
复制相似问题