什么是与indexof()相反的javascript函数?
按下按钮时,在我的代码中。它会显示3
[来自indexof(".")
]。
但是我希望功能与indexof()
相反,那就是显示2
[decimal]
<!DOCTYPE html>
<body>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
var str = "150.20";
var n = str.indexOf(".");
document.getElementById("demo").innerHTML = n;
}
</script>
</body>
</html>
答案 0 :(得分:3)
有些不足为奇,lastIndexOf
会在这里提供帮助。
唯一的问题是,它仍然是字符串末尾的数字,因此您必须执行str.length - str.lastIndexOf(".") - 1
之类的操作才能获得您正在寻找的2
。没有内置功能。</ p>
答案 1 :(得分:2)
试试这个:
str.split(".")[1].length;
您可以使用"."
方法将字符串拆分为.split()
,并使用[1]
获取第一个索引并计算其长度。
正如 Der Vampyr 评论所以我认为应该这样,你可以用它来更新它:
function myFunction() {
var str = "150.22";
var dot = str.indexOf(".");
var n = (dot != -1) ? str.split(".")[1].length : "This value does not have decimals.";
document.getElementById("demo").innerHTML = n;
}