我有一个字符串12345.00,我希望它返回12345.0。
我看了一下trim,但它看起来只是在修剪空白和切片,我不知道这是如何工作的。有什么建议吗?
我有一个字符串12345.00,我希望它返回12345.0。
我看了一下trim,但它看起来只是在修剪空白和切片,我不知道这是如何工作的。有什么建议吗?
当前回答
https://stackoverflow.com/questions/34817546/javascript-how-to-delete-last-two-characters-in-a-string
如果不需要空间,只需使用修剪
"11.01 °C".slice(0,-2).trim()
其他回答
您可以使用JavaScript字符串对象的substring方法:
s = s.substring(0, s.length - 4)
它无条件地从字符串s中删除最后四个字符。
但是,如果要有条件地删除最后四个字符,则仅当它们完全是_bar时:
var re = /_bar$/;
s.replace(re, "");
试试看:
const myString=“Hello World!”;console.log(myString.slice(0,-1));
正则表达式是您要查找的:
让str=“foo_bar”;console.log(str.replace(/_bar$/,“”));
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
如果要对浮点数进行通用舍入,而不是只修剪最后一个字符:
var float1 = 12345.00,
float2 = 12345.4567,
float3 = 12345.982;
var MoreMath = {
/**
* Rounds a value to the specified number of decimals
* @param float value The value to be rounded
* @param int nrDecimals The number of decimals to round value to
* @return float value rounded to nrDecimals decimals
*/
round: function (value, nrDecimals) {
var x = nrDecimals > 0 ? 10 * parseInt(nrDecimals, 10) : 1;
return Math.round(value * x) / x;
}
}
MoreMath.round(float1, 1) => 12345.0
MoreMath.round(float2, 1) => 12345.5
MoreMath.round(float3, 1) => 12346.0
编辑:保罗指出,这似乎有一个内置函数。这种解决方案显然比我的干净得多。使用parseFloat后跟toFixed