您能告诉我在Java数字中使用字符串函数是否可以吗?我有一个代码,需要对字符串值做一些修改。就像这里:
var value = 0;
if( tableRow.find('input').length )
{
value = tableRow.find('input').val();
}
value = value.replace(/\s/g, '') // Remove spaces
但是有时replace()之前的值仍为默认0(数字类型)。那么可以在数字上调用replace(或其他字符串函数)吗?似乎可以,但是我不确定是否所有的浏览器都支持它。
编辑:这是不可能的。我的代码工作正常,因为它始终是字符串,并且不跳过条件。但是数字类型的变量没有NOT .string()函数。
答案 0 :(得分:3)
您不能通过电话号码拨打replace
。您可以在value.toString()
上调用它,或者将value
初始设置为0
答案 1 :(得分:3)
是否可以在javascript中的数字上使用字符串函数?
不。数字和字符串具有不同的方法。数字没有replace
方法(因为它对数字没有意义,但对字符串却有意义)。
但是有时,replace()之前的值仍为默认值0,即数字类型。
为避免这种情况,请将默认值也设置为字符串:
var value = "0";
// ---------^-^
if( tableRow.find('input').length )
{
value = tableRow.find('input').val();
}
value = value.replace(/\s/g, '') // Remove spaces
...或仅在另一条路径上执行replace
,然后在另一条路径上转换为数字:
var value = 0;
if( tableRow.find('input').length )
{
value = tableRow.find('input').val();
value = +value.replace(/\s/g, '') // Remove spaces, convert to number
}
({+
只是转换为数字的一种方法。You have several options,各有利弊。)
答案 2 :(得分:0)
否,由于数字类中没有此类功能,因此无法对数字使用替换。
您的值可能是一个字符串,(请使用typeof(value)进行检查),该字符串仅包含数字而不是数字。
value = 10不同于value =“ 10”。