I have a backend that sends numbers with up to 19 digits before the decimal point and 6 digits after the decimal point. The backend is exact and correctly converts these digits into JSON like
{
  myNumber: 9999999999999999999.123456
}
On the frontend I use JavaScript and the standard fetch API response.json().
- By default the myNumberis converted into JavaScriptsnumbertype byresponse.json(). Can there be any loss of precision during this conversion?
- Later on I might convert the numbertype back to string. Can there be any loss of precision during this conversion?
I need to understand which numbers can be safely converted from (a) the JSON representation to (b) JavaScripts number type and (c) back to a string. In which ranges will (a) and (c) be identical, when will I run into issues?
I hope I abstracted that enough away, but in case anyone is interested: The backend is C# Web API with SQL Server which uses DECIMAL(19,6).
 
    