hello @WebSmithery,
hello @all, sorry for long, the more confusion accumulates, the longer it takes to resolve it …
calc is not bad, but it’s a bad situation,
users expect ‘school math compliant’ results,
[edit] - edit 2021-03-09 07:30
users expect ‘ex$el compatibility’ too,
and that’s sometimes different to ‘correct math’,
calc’s alternating higher-order compatibility and school-math requirements and sometimes ‘third ways’ cannot fully satisfy any of all these desires
IEEE 754 - as used by calc - doesn’t deliver - school math,
[/edit]
calc uses this datatype reg. ‘performance’,
if users complain they are asked to round, which has two drawbacks:
- the performance is gone,
- it’s often difficult to decide which rounding to apply, it’s much and error prone work for the users,
most critical operation is subtraction of figures of similar magnitude, if you don’t want to do too much handcrafting you may try the following formula or similar, it’ll ‘adapt’ to the magnitude of the operands and somewhat automatically round of fp-artefacts while leaving valueable content untouched,
‘=ROUND(RAWSUBTRACT(B60;B61);14-MAX(INT(LOG(B60));INT(LOG(B61))))’
be aware that rounding had it’s own shortcomings in calc, improved shortly but i’m not sure if they are all gone …
besides: tried your figures in calc 7.2.0.0.a0+, looks correct even with 20dp, also in 4.1.6.2 and 6.2.8.2,
it has! a small deviation of -9,09494701772928E-13 but that’s kept invisible by calc (but may affect comparisons), you complain about 20 times bigger deviation,
could it be your input values are not exact keyed in but somewhat calculated and different from what you posted?
check if they contain formulas, check content with wider cell format and format display to more decimal places, or use ‘rawsubtract’,
that is another big issue, accuracy problems are often wiped away with the general phrase ‘fp-mat is imprecise’ without going into the individual case in more detail … because the cases are so frequent and similar, but they are not all the same …
don’t worry, you are still right, calc makes errors, even in the 2dp range, try ‘=1234,12 - 1234’ …
[edit] - edit 2021-03-09 06:47
as long as calc calculates ‘=999999,9999999 - 99999999,9999998’ to zero I will keep nagging and am happy about everyone who supports the demand for ‘decimal correct math’ …
was most likely not a typo but a fault of deepl (www.deepl.com) which i sometimes use to help me with my ‘modest english’, it likes not only ‘bit-eating’ from strings like ‘1111111111’, but also zeros and as i see now '999999’s as well … another thing in this world which is as it shouldn’t be, if you retest: I recently noticed that the number must be followed by text so that it is screwed up, and … it happens not always but only from time to time …
the correct sentence was meant as:
as long as calc calculates ‘=99999999,9999999 - 99999999,9999998’ to zero I will keep nagging and am happy about everyone who supports the demand for ‘decimal correct math’ …
[/edit]
reg.
b.
P.S. ‘solved marks’ and ‘likes’ welcome,
click the grey circled hook - ✓ - top left to the answer to turn it green if the problem is solved,
click the “^” above it if you ‘like’ the answer,
“v” if you don’t,
do not! use ‘answer’ to add info to your question, either edit the question or add a comment,
‘answer’ only if you found a solution yourself …