确定字符串中的第一个字符是否为$,是否将其移除并取出其他所有
全部, 说某人提交$ 1234,那么我想检查第一个字符是否为$,如果是I '想要删除它,只是使用其余的字符串。所以在这个例子中,它将返回1234.
此外,有没有办法总是添加.00如果用户不输入它?所以,最终的结果总是1234.00
因此,这里有一些投入,以及如何我想了预期的效果:
1234 = 1234.00 $1234 = 1234.00
$1234.23 = 1234.23
1234.23 = 1234.23
如何做到这一点任何想法?
回答:
使用ltrim
和number_format
$newVal = number_format((float)ltrim('$1234.23', '$'), 2, '.', ''); // $newVal == '1234.23'
回答:
要做到这一点,最简单的方法是使用preg_match
,用正则表达式:~^\\$?(\\d+(?:[.,]\\d+)?)$~
,所以整个代码将是:
$match = array(); if(preg_match('~^\\$?(\\d+(?:[.,]\\d+)?)$~', trim($text), $match)){
$yourValue = number_format(strtr($match[1], array(',' => '.')), 2, '.', '');
}
的另一种选择是使用这样一段代码:
$text = trim(strtr($text, array(',' => '.'))); // Some necessary modifications // Check for $ at the beginning
if(strncmp($text, '$', 1) == 0){
$text = substr($text, 1);
}
// Is it valid number?
if(is_numeric($text)){
$yourValue = number_format($text, 2, '.', '');
}
以上是 确定字符串中的第一个字符是否为$,是否将其移除并取出其他所有 的全部内容, 来源链接: utcz.com/qa/264894.html