gpt4 book ai didi

java - 仅使用循环从字符串中提取十进制数

转载 作者:行者123 更新时间:2023-12-01 09:49:03 26 4
gpt4 key购买 nike

我想知道 - 有没有办法从字符串中提取十进制(浮点/ double )数字,但没有正则表达式或函数 - 只是循环?

f.e.

$str = "weiun.fqw7pofnj89.5poopf99"

所以它应该是“89.5” - 但我无法手动完成 - 有什么想法吗?

最佳答案

这是未使用任何函数或正则表达式的代码。

$string = "weiun.fqw7pofnj89.5poopf99";
// find the length of the string
$length = strlen($string);
// loop the string
for($i=0;$i<$length;$i++){
// find the '.'
if($string[$i] == '.'){
$number_before_decimal ='';
$number_after_decimal ='';
// backward loop until we find non numeric value
for($j=($i-1);$j>=0;$j--){
if((ord($string[$j])>=48) && (ord($string[$j])<=57)){
// add values in reverse
$number_before_decimal = $string[$j].$number_before_decimal;
}else{
break;
}
}
// forward loop until we find non numeric value
for($k=$i;$k<$length;$k++){
if($string[$k] == '.') continue;
if((ord($string[$k])>=48) && (ord($string[$k])<=57)){
$number_after_decimal .= $string[$k];
}else{
break;
}
}
if(($number_before_decimal!='') && ($number_after_decimal!='')){
echo $number_before_decimal.'.'.$number_after_decimal;
echo "<br/>";
}
}
}

输出:

89.5

它可以获取给定字符串中的多个十进制值

$string = "weiun2.3m2.5o0.6fqw7pofnj89.5poopf99";

输出: 2.3
2.5
0.6
89.5

关于java - 仅使用循环从字符串中提取十进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37734637/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com