Buc*_*cks 2 javascript typescript
我正在尝试做一些简单的数学运算,应该是从request.ReponseText返回的数字和输入文本框的数字.这是代码
//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);
Run Code Online (Sandbox Code Playgroud)
我从TypeScript编译器得到的错误是:
The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
Run Code Online (Sandbox Code Playgroud)
编译器把波浪线下enteredMiles的var intervalMiles = (enteredMiles - storedMiles);线.
我无法在文档中找到有关如何纠正该错误的任何内容.我也没有找到自己进行转换的方法.TypeScript编译器需要什么才能同时处理数字enteredMiles和storedMiles"数字"类型,以便我可以进行数学运算?
这是因为Number与数字不同.以下将解决它:
var storedMiles = parseInt(request.responseText);
Run Code Online (Sandbox Code Playgroud)
完整的代码(也指出了史蒂夫指出的radix):
var storedMiles = parseInt(request.responseText,10);
var enteredMiles = parseInt((<HTMLTextAreaElement>document.getElementById("txtMiles")).value,10);
var intervalMiles = (enteredMiles - storedMiles);
Run Code Online (Sandbox Code Playgroud)
更多说明:
以下是一些代码,向您展示数字和数字之间的基本区别:
var num = 3;
var Num = new Number(3);
console.log(typeof num); // number
console.log(typeof Num); // object
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3599 次 |
| 最近记录: |