Your 17-digit value 1.9224832057952844 is not the result of converting
any IEEE 754 64 bit double to decimal.
When this value is converted to double, and then back to 17 decimal
digits, the reprsentation 1.9224832057952843 is produced.
If tawk does not warn about 1.9224832057952843, then that is the
issue. Just the wording of the diagnostic is poor.
A 64 bit double has two properties, in relation to decimal
representations:
- it can store up to 15 decimal digits of mantissa precision.
If more decimal digits are specified, some of them may be changed
or truncated away.
- 17 decimal digits are required to exactly specify/preserve
a double's value in decimal form.
A programming language must accept up to 17 digits in a constant
without complaining, otherwise it becomes a nuisance to those who
need to specify an exact number down to the last mantissa bit.
However, not all 17 digit numbers are distinct.
The 64 bit double type contains a value which is very close to
1.9224832057952843. The next one (next one bit increment in the
mantissa) rounds to 1.9224832057952845.
The constant 1.9224832057952844 is ambiguous: it isn't clear
which of those two points you want to specify.
--
TXR Programming Language:
http://nongnu.org/txr
Cygnal: Cygwin Native Application Library:
http://kylheku.com/cygnal