如何从字符串中获取数值?
这里有一些例子。
val1 = '18,000';
val2 = '18,000 USD';
val3 = '18,000 PKR';
val4 = '18000 PKR';
我需要得到 only numbers
,18000
只有。没有其他的。
如何从字符串中获取数值?
这里有一些例子。
val1 = '18,000';
val2 = '18,000 USD';
val3 = '18,000 PKR';
val4 = '18000 PKR';
我需要得到 only numbers
,18000
只有。没有其他的。
尝试这个:
var num = Number(val1.replace(/[^0-9.]/g, ""));
首先,您必须替换字符串中的所有逗号。然后就可以使用 JavaScript 函数了parseInt
。
var str = "18,000 USD";
str = str.replace(/,/g, "");
var num = parseInt(str, 10);
alert(num);
现在,如果你想要小数位,你可以使用parseFloat
.
var str2 = "18,000.50 USD";
str2 = str2.replace(/,/g, "");
var num2 = parseFloat(str2, 10);
alert(num2);
工作示例:http: //jsfiddle.net/arffD/1/
假设您对代码进行了更正,您应该能够使用此方法将它们转换为实际值
var val1 = "18,000";
var val2 = "18,000 USD";
var val3 = "18,000 PKR";
var val4 = "18000 PKR";
[val1, val2, val3, val4].map(function (n) {
return Number(n.replace(/[^\d]+/gi, ''))
});
那应该给你一个像这样的值数组:
[ 18000,
18000,
18000,
18000 ]
对于 PHP,你可以这样做:
$val1 = "18,000";
$val2 = "18,000 USD";
$val3 = "18,000 PKR";
$val4 = "18000 PKR";
function map ($n) {
$n = preg_replace("%[^\d]+%mi", '', $n);
return $n;
}
$vals = array_map(map, array($val1, $val2, $val3, $val4));
$vals
将保留真实值并print_r($vals);
应产生:
Array
(
[0] => 18000
[1] => 18000
[2] => 18000
[3] => 18000
)