Your code seems to be correct
Math.round(8.3391700279483738E17) = 833917002794837376
makes sense as 8.3391700279483738E17 mathematically means 8.3391700279483738 * 10^17 or
8339170027948373800 and not a decimal number. The small marginal difference is due to Delta error.