确定字符串中的第一个字符是否为$,是否将其移除并取出其他所有

全部, 说某人提交$ 1234,那么我想检查第一个字符是否为$,如果是I '想要删除它,只是使用其余的字符串。所以在这个例子中,它将返回1234.

此外,有没有办法总是添加.00如果用户不输入它?所以,最终的结果总是1234.00

因此,这里有一些投入,以及如何我想了预期的效果:

1234 = 1234.00 

$1234 = 1234.00

$1234.23 = 1234.23

1234.23 = 1234.23

如何做到这一点任何想法?

回答:

使用ltrimnumber_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

回到顶部