我有一些这样的文字:
标题 链接(http // a.com / ......) 用户名(id-> @ ......) 成员
任何用户都可以为我要检测其成员的应用发送此数据,并转换为int
或long
例如
100K -> 100000
5.8 -> 5800
2.3k -> 2300
20 k -> 20000
200 -> 200
500 -> 500
8000 -> 8000
首先,我应该找到包含“ 0-9”和“。”的文本。和“ k”和“ m”字符仅在开始转换之前。
php:
function getOrginalNumber($mystring)
{
$mystring = strtolower($mystring);
$pos1 = stripos($mystring, ".");
$pos2 = stripos($mystring, "k");
if ($pos1 == 0 && $pos2 == 0) {
} else if ($pos1 == 0 && $pos2 > 0) {
$mystring = str_replace("k", "000", $mystring);
} else if ($pos1 > 0 && $pos2 == 0) {
$mystring = str_replace(".", "", $mystring);
} else if ($pos1 > 0 && $pos2 > 0) {
$mystring = str_replace(".", "", $mystring);
if (strlen($mystring) - 1 == 1) {
$mystring = str_replace("k", "000", $mystring);
} else if (strlen($mystring) - 1 == 2) {
$mystring = str_replace("k", "00", $mystring);
}
}
return $mystring;
}
function isNumber($string)
{
$s = convert_to_en_number($string);
if (preg_match('/^[0-9k.]+$/', $s)) {
return true;
} else {
return false;
}
}
并使用:
foreach ($fields as &$value) {
if (isNumber($value)) {
$value = getOrginalNumber($value);
}
}
但有时无法正常工作。
我需要java
代码。