首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让Typescript将数字识别为数字?

如何让Typescript将数字识别为数字?
EN

Stack Overflow用户
提问于 2013-06-22 20:27:13
回答 1查看 3.7K关注 0票数 2

我正在尝试用从request.ReponseText返回的数字和输入到文本框中的数字来做一些简单的数学运算。以下是代码

代码语言:javascript
复制
//var storedMiles : number = new Number(request.responseText);
var storedMiles = new Number(request.responseText);
var enteredMiles = parseInt((<HTMLTextAreaElement>document.getElementById("txtMiles")).value);
var intervalMiles = (enteredMiles - storedMiles);

我从TypeScript编译器得到的错误是:

代码语言:javascript
复制
The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.

编译器将波浪线放在var intervalMiles = (enteredMiles - storedMiles);行中的enteredMiles下。

我在文档中找不到任何关于如何纠正这个错误的内容。我也没有找到一种自己进行转换的方法。TypeScript编译器需要什么才能将enteredMilesstoredMiles视为相同的number“类型”,以便我可以进行数学运算?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-22 20:53:57

这是因为number与Number不同。下面的方法可以解决这个问题:

代码语言:javascript
复制
var storedMiles = parseInt(request.responseText);

完整的代码(也是steve指出的基数):

代码语言:javascript
复制
var storedMiles = parseInt(request.responseText,10);
var enteredMiles = parseInt((<HTMLTextAreaElement>document.getElementById("txtMiles")).value,10);
var intervalMiles = (enteredMiles - storedMiles);

更多解释:

下面是一些代码,向您展示Number和number之间的基本区别:

代码语言:javascript
复制
var num = 3;
var Num = new Number(3); 

console.log(typeof num); // number 
console.log(typeof Num); // object 

Try it

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17250698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档