我有一个字符串12345.00,我希望它返回12345.0。
我看了一下trim,但它看起来只是在修剪空白和切片,我不知道这是如何工作的。有什么建议吗?
我有一个字符串12345.00,我希望它返回12345.0。
我看了一下trim,但它看起来只是在修剪空白和切片,我不知道这是如何工作的。有什么建议吗?
当前回答
使用子字符串获取_bar左侧的所有内容。但首先必须在字符串中获取_bar的instr:
str.substring(3, 7);
3是起点,7是长度。
其他回答
对于像您这样的数字,我建议对子字符串执行以下操作:
console.log(parseFloat('12345.00').toFixed(1));
请注意,这实际上会将数字四舍五入,我认为这是需要的,但可能不是:
console.log(parseFloat('12345.46').toFixed(1));
使用子字符串获取_bar左侧的所有内容。但首先必须在字符串中获取_bar的instr:
str.substring(3, 7);
3是起点,7是长度。
通过切片(indexStart,indexEnd)方法-注意,这不会更改现有字符串,而是创建一个副本并更改副本。
console.clear();
let str = "12345.00";
let a = str.slice(0, str.length -1)
console.log(a, "<= a");
console.log(str, "<= str is NOT changed");
通过正则表达式方法-注意,这不会更改现有字符串,而是创建一个副本并更改副本。
console.clear();
let regExp = /.$/g
let b = str.replace(regExp,"")
console.log(b, "<= b");
console.log(str, "<= str is NOT changed");
通过array.splice()方法->这只适用于数组,它会改变现有的数组(所以要小心这个),您需要先将字符串转换为数组,然后再转换回来。
console.clear();
let str = "12345.00";
let strToArray = str.split("")
console.log(strToArray, "<= strToArray");
let spliceMethod = strToArray.splice(str.length-1, 1)
str = strToArray.join("")
console.log(str, "<= str is changed now");
这里有一个我认为在其他答案中没有看到的替代方案,只是为了好玩。
var strArr=“您好,我是字符串”.split(“”);strArr.pop();document.write(strArr.join(“”));
不像切片或子字符串那样清晰或简单,但允许您使用一些不错的数组方法来处理字符串,因此值得了解。
使用JavaScript的切片函数:
let string='foo_bar';string=string.spice(0,-4);//在此处切下最后四个字符console.log(字符串);
这可以用于删除任何长度字符串末尾的“_bar”。