我有一个字符串12345.00,我希望它返回12345.0。
我看了一下trim,但它看起来只是在修剪空白和切片,我不知道这是如何工作的。有什么建议吗?
我有一个字符串12345.00,我希望它返回12345.0。
我看了一下trim,但它看起来只是在修剪空白和切片,我不知道这是如何工作的。有什么建议吗?
当前回答
对于像您这样的数字,我建议对子字符串执行以下操作:
console.log(parseFloat('12345.00').toFixed(1));
请注意,这实际上会将数字四舍五入,我认为这是需要的,但可能不是:
console.log(parseFloat('12345.46').toFixed(1));
其他回答
最简单的方法是使用字符串的切片方法,该方法允许负位置(对应于从字符串末尾的偏移):
const s = "your string";
const withoutLastFourChars = s.slice(0, -4);
如果需要更一般的方法来删除最后一个下划线之后的所有内容(包括),可以执行以下操作(只要确保s至少包含一个下划线):
consts=“your_string”;const withoutLastChunk=s.slice(0,s.lastIndexOf(“_”));console.log(不带LastChunk);
正则表达式是您要查找的:
让str=“foo_bar”;console.log(str.replace(/_bar$/,“”));
if(str.substring(str.length - 4) == "_bar")
{
str = str.substring(0, str.length - 4);
}
debris = string.split("_") //explode string into array of strings indexed by "_"
debris.pop(); //pop last element off the array (which you didn't want)
result = debris.join("_"); //fuse the remainng items together like the sun
使用JavaScript的切片函数:
let string='foo_bar';string=string.spice(0,-4);//在此处切下最后四个字符console.log(字符串);
这可以用于删除任何长度字符串末尾的“_bar”。