在javascript中使用substr

在javascript中使用substr,javascript,Javascript,我需要通过删除“.”及其右侧的所有字符来修改MDI值 我尝试了这段代码,但发现了一个mozilla错误: var MDI = '39.741679085941385'; var revMDI = ""; 我得到的错误是: org.mozilla.javascript.EcmaError:TypeError:找不到函数substr 任何帮助/指导都将不胜感激。谢谢。换句话说,获取整数值 var revMDI = MDI.substr(MDI,0,indexOf(MDI,'.')); 换句话说,

我需要通过删除“.”及其右侧的所有字符来修改MDI值

我尝试了这段代码,但发现了一个mozilla错误:

var MDI = '39.741679085941385';
var revMDI = "";
我得到的错误是:

org.mozilla.javascript.EcmaError:TypeError:找不到函数substr


任何帮助/指导都将不胜感激。谢谢。

换句话说,获取整数值

var revMDI = MDI.substr(MDI,0,indexOf(MDI,'.'));

换句话说,获取整数值

var revMDI = MDI.substr(MDI,0,indexOf(MDI,'.'));

您需要使用
MDI.substring(0,MDI.indexOf('.')


请参阅MDN文档了解和。

您需要使用
MDI.substring(0,MDI.indexOf('.')

有关和,请参阅MDN文档。

正确的语法是:

var revMDI = parseInt(MDI);
但是我更喜欢。

正确的语法是:

var revMDI = parseInt(MDI);
但是我更喜欢。

你可以这样做

你可以做到


只需两个字符即可完成:

var MDI = '39.741679085941385';
var revMDI = MDI.substr(0, MDI.indexOf('.'));

|
强制MDI为一个数字,并将其截断为
39
。然后按位或with
0
就是标识。

您只需两个字符即可:

var MDI = '39.741679085941385';
var revMDI = MDI.substr(0, MDI.indexOf('.'));
|
强制MDI为一个数字,并将其截断为
39
。然后按位或with
0
是标识。

您的语法错误:

var revMDI = MDI | 0;
必须先用substr,然后用indexOf声明要修改的字符串

你这样做没有意义。

你的语法错误:

var revMDI = MDI | 0;
必须先用substr,然后用indexOf声明要修改的字符串


你这样做没有任何意义。

如果问题出在
indexOf
上,为什么错误会说
substr
?对不起,我首先注意到了第二个问题。我对答案进行了编辑,将两者都包括在内。如果问题出在
indexOf
上,为什么错误会显示
substr
?对不起,我首先注意到了第二个问题。我编辑了我的答案,将两者都包括在内。
substr()
的第一个参数应该是
0
,而不是
MDI
substr()
的第一个参数应该是
0
,而不是
MDI
。感谢所有回复。不幸的是,我得到了同样的错误。我在一个名为Provenir的IDE中工作,它显然非常挑剔。谢谢。@Melinda你试过小提琴吗?这实际上不是通过浏览器而是通过Provenir IDE,这有关系吗?谢谢你的回复。不幸的是,我得到了同样的错误。我在一个名为Provenir的IDE中工作,它显然非常挑剔。谢谢。@Melinda你试过小提琴吗?这实际上不是通过浏览器而是通过Provenir IDE,这有关系吗?