我有一个字符串12345.00,我希望它返回12345.0。

我看了一下trim,但它看起来只是在修剪空白和切片,我不知道这是如何工作的。有什么建议吗?


当前回答

您可以使用substring函数:

让str=“12345.00”;str=str.substring(0,str.length-1);console.log(str);

这是公认的答案,但根据下面的对话,切片语法更加清晰:

让str=“12345.00”;str=str.slice(0,-1);console.log(str);

其他回答

试试看:

const myString=“Hello World!”;console.log(myString.slice(0,-1));

试试看:

<script>
    var x="foo_foo_foo_bar";
    for (var i=0; i<=x.length; i++) {
        if (x[i]=="_" && x[i+1]=="b") {
            break;
        }
        else {
            document.write(x[i]);
        }
    }
</script>

您也可以在http://jsfiddle.net/informativejavascript/F7WTn/87/.

如果要删除接近字符串末尾的内容(对于大小可变的字符串),可以将slice()和substr()组合起来。

我有一个动态构建的带有标记的字符串,其中有一个用逗号分隔的锚标记列表。字符串类似于:

var str = "<a>text 1,</a><a>text 2,</a><a>text 2.3,</a><a>text abc,</a>";

要删除最后一个逗号,我执行了以下操作:

str = str.slice(0, -5) + str.substr(-4);

@杰森S:你可以用切片!你只需要确保你知道如何使用它。正数与开始,负数是相对于末端。js>“12345.00”.切片(0,-1)12345

对不起,我的写手,但帖子早些时候被标记为“jquery”。因此,不能在jQuery中使用slice(),因为slice(()是jQuery方法,用于使用DOM元素的操作,而不是子字符串。。。换言之,回答@Jon Erickson提出了非常完美的解决方案。

然而,您的方法将在简单的Javascript中使用jQuery函数。需要指出的是,由于上次在评论中的讨论,jQuery是JS的可更新扩展,而不是他自己的父级最著名的ECMAScript。

这里还存在两种方法:

作为我们的:

string。substring(from,to)as plus if“to”index null返回字符串的其余部分。因此:string.substring(from)正或负。。。

而其他一些-substr()-提供子字符串的范围,“length”只能为正:string.substr(开始,长度)

还有一些维护人员建议,最后一个方法string.substr(start,length)不起作用,或者对MSIE有错误。

使用子字符串获取_bar左侧的所有内容。但首先必须在字符串中获取_bar的instr:

str.substring(3, 7);

3是起点,7是长度。