[英]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.