簡體   English   中英

web api c#為數據類型long和angular返回另一個值

[英]web api c# returns another value for data type long with angular

我正在從 Angular 客戶端向 web api .net Framework 4.7 發出 http get 調用

我有一個服務,它返回一個帶有值的對象,包括一個“long”類型的屬性,問題是當我在 api 中調試響應時,它返回一個數字 9997773333333335(這是我期望的)但是當我得到瀏覽器將其轉換為 99977733333333336

總之:

long 數據類型,在數據庫中它保持為 9997773333333335,但在前面收到響應時,它以 9997773333333336 的形式到達。

有人可以向我解釋為什么會發生這種情況嗎? 你在做四舍五入嗎? 我怎么能避免呢?

事實:DB 中的字段是 Bigint。

后台回復:

后端響應

前端結果:

前端結果

問題是您使用的數字大於Number.MAX_SAFE_INTEGER JavaScript 無法使用Number類型准確地表示這么大的整數,因此會出現像您所看到的那樣的錯誤。

嘗試將這些值作為string s 而不是long s 傳遞給前端。 如果您需要在客戶端對它們進行任何計算,請先將這些字符串轉換為BigInt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM