我正在与返回JSON的Axios进行API调用。API将CUSIP返回为类型String,但是,我希望将其接收为类型Number。我创建了一个接口,它具有类型类型为数字,但是当我得到变量时,它仍然被视为字符串。
API调用和一些逻辑:
const axios = require('axios');
import { General } from './json-objects-new';
module.exports = {
makeApiCall : function(ticker:string) {
axios.get(`${API_ENDPOINT}${ticker}?api_token=${API_KEY}`)
.then(function (response) {
// handle success
return response.data;
})
.catch(function (error) {
// handle error
console.log(error);
})
.then(data => {
let gen : General = data.General;
let num = gen.CUSIP + 1337
console.log(num);
});
}
}
名为General的接口,其中我将CUSIP转换为数字:
export interface General {
ISIN: string;
CUSIP: number;
}
问题是:不是将[CUSIP 1337]打印为[2 1337=1339],而是打印[21337]。我很乐意帮忙,谢谢。我真的不想在构造函数中手动强制转换所有内容。
你必须记住TypeScript只是Javascript上面的一层类型,它不会修改实际的javascript。
在您的情况下,即使CUSIP被键入为数字,您收到的实际数据也是一个字符串。您应该将从API获得的内容声明为字符串,然后将其转换为带有parseInt(gen.CUSIP,10)
.
尝试将CUSIP
从字符串更改为数字:
const axios = require("axios");
import { General } from "./json-objects-new";
module.exports = {
makeApiCall: function(ticker: string) {
axios
.get(`${API_ENDPOINT}${ticker}?api_token=${API_KEY}`)
.then(function(response) {
// handle success
return response.data;
})
.catch(function(error) {
// handle error
console.log(error);
})
.then(data => {
let gen: General = data.General;
let num = Number(gen.CUSIP) + 1337; /* convert CUSIP string to number */
console.log(num);
});
}
};
给定数字的字符串表示形式,如何将其转换为TypeScript中的类型?
我有一个这样的代码,我正在使用flickr-sdk,它使用superagent来进行所有调用。 常量superagent=require('superagent');var flickr=require('flickr-sdk'); } 现在我这样叫它 Typescript给出此错误 有没有办法把承诺转换成字符串。然后返回该解析值。 编辑:已更新代码以返回favResponse
我正在尝试将Typecript枚举值转换为数字,以便在我的下拉列表中显示枚举字符串值,但在提交按钮上,传递的是该值而不是字符串。枚举设置如下。 到目前为止,我已经能够控制台.log对象的键(字符串)(例如 Value),但我想做的是在发出对象后传递 0(数字)值。 我该怎么做?
我在TypeScript中定义了以下枚举: 现在在我的函数中,我接收颜色作为字符串。我已经尝试了以下代码: 如何将该值转换为枚举?
我用这个服务结果构造了一个组件类对象,我也得到了错误 错误TypeError:无法读取未定义的属性“name” 当我在HTML文件中使用它时。
我知道我不是第一个问这个问题的人,正如我在标题中提到的,我正在尝试转换字符串值布尔值。 我之前已经将一些值放入本地存储,现在我想获取所有值并将所有值赋给一些布尔变量。 应用程序。组成部分ts 这里是这个。btnLoginNumOne和这个。btnLoginEdit是字符串值(“true,false”)。 镜子组成部分ts 在这个组件中this.btnLoginNumOne和t是布尔值; 我在sta