如何在角度5+中使用大量数字?

时间:2018-09-05 10:46:03

标签: angular typescript linq-to-twitter

我在.Netcore 2.0中使用angular 5。我正在使用API​​控制器来处理推文(LinqToTwitter)。这些推文来自我的打字机,来自控制器,除了statusID(长度为19位数字)之外,其他都很好。

statusID应该是: XXXXXXXXXXXXXXXX573

,但键入脚本的过程如下: XXXXXXXXXXXXXXXX600

API控制器:

[HttpPost("[action]")]
public async Task<Search> GetAllTweetsByNamePost([FromBody] SearchQuery searchQuery)
{
    searchVal = searchQuery.Name;
    Twitter twit = new Twitter();
    twit.Initialise();
    var t = await twit.Fetch(searchVal, 50, true, SearchType.Search);
    return t[0];
}

当我在控制器中检查Status ID时,它会显示正确的ID,但是到达TS statusID的时间有所不同,并且数字中有一个模式。

前16位正确,后3位以100为例递增。

XXXXXXXXXXXXXXXX100 XXXXXXXXXXXXXXXX200 XXXXXXXXXXXXXXXX300

在Api控制器中,我正在使用LinqToTwitter Status objectStatus object中属性的类型是公共ulong SinceID { get; set; },并且我已将TS模型的属性设置为statusID: any;

getSocialDataTwitter(searchQuery) {
    const headers = new HttpHeaders().set('content-type', 'application/json');
    return this.http.post<LeftOperatorPaneltwitter>(this.baseUrl + 'api/OperationData/GetAllTweetsByNamePost', '{"Name":"' + searchQuery + '"}', { headers }).subscribe(result => {
      this.tweets = result;
      result.statuses.forEach(search => {
        console.log(search.statusID + ' This is my Status ID');
      })
    }, error => console.error(error));
  }

1 个答案:

答案 0 :(得分:1)

JavaScript无法处理这种长度的数字。根据{{​​3}},最大安全整数值为:9007199254740991。建议您将您的ID表示为string