gpt4 book ai didi

javascript - 如何让 Typescript 将数字识别为数字?

转载 作者:搜寻专家 更新时间:2023-10-30 21:18:28 24 4
gpt4 key购买 nike

我正在尝试对 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);

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

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 与 number 不同。以下将修复它:

var storedMiles = parseInt(request.responseText);

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

var storedMiles = parseInt(request.responseText,10);
var enteredMiles = parseInt((<HTMLTextAreaElement>document.getElementById("txtMiles")).value,10);
var intervalMiles = (enteredMiles - storedMiles);

更多说明:

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

var num = 3;
var Num = new Number(3);

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

Try it

关于javascript - 如何让 Typescript 将数字识别为数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17250698/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com