我想从字符串
中取两个值
“105.106”
值105和106可以是不同的,点(。)将决定它们在分割之后的分裂我希望这些值在变量中。我把它看作indexOf和split方法,但没有得到逻辑。
答案 0 :(得分:3)
这很简单:
var str = "105.106";
var values = str.split('.'); // (or "." or /\./)
console.log(values[0]); // Output: 105
console.log(values[1]); // Output: 106
答案 1 :(得分:3)
您可以详细了解split
的工作原理here。简而言之,split
是String
原型上的一种方法,您可以将其作为分隔符传递给它,并根据该字符对字符串进行标记。例如,如果您有"123,456,789"
并且想要将字符串标记为,
是分隔符,那么您将获得"123"
,"456"
和{{1} }。
现在你的字符串是"789"
,你希望"105.106"
充当分隔符,因此你写了类似的东西:
.
如您所见,tokens = "105.106".split(".");
tokens[0] == "105"; // true
tokens[1] == "106"; // true
已将字符串分解为包含两个组件的数组,其中包含由split
字符分割的字符串。
答案 2 :(得分:2)
你可以这样做:
var str = "105.106";
// does the string contain floating point dot ?
if (str.indexOf('.') >= 0) {
var values = str.split('.');
alert(values[0]); // value before dot
alert(values[1]); // value after dot
}
else {
alert(str); // string did not contain a dot/point
}
上面的代码会在dot / point 之前和之后给出两个值,如果它包含一个点,它会给你一个字符串。
答案 3 :(得分:0)
JavaScript String.split(delimiter)方法可以满足您的需求。像这样使用它:
var s = "105.106";
var values = s.split(".");
// values[0] = "105", values[1] = "106".
答案 4 :(得分:0)
我没有对它进行过测试,但我猜这可能有用
var str="xxx.xxxxx";
dot=str.lastIndexOf('.');
num2=str.substring(dot+1);
num1=str.substring(0,dot);