---- continued ----
the following formula calculates partly with the textual representation of a value which has more digits in gnumeric than in Calc or Excel, imho it ‘does the job’, but already is overweighted and would become worse if adapted to Calc with need to extract the digits by rawsubtract …
=value((left(text(F4,"0.0000000000000000000E+000"),if((2^(-52+int(log(abs(F4),2))))<10^(-15+int(log(abs(F4),10))),17,16))&right(text(F4,"0.0000000000000000000E+000"),5))+if(value(mid(text(F4,"0.0000000000000000000E+000"),if(2^(-52+int(log(abs(F4),2)))<10^(-15+int(log(abs(F4),10))),18,17),1))>4,(10^(if(2^(-52+int(log(abs(F4),2)))<10^(-15+int(log(abs(F4),10))),-15,-14)+int(log(abs(F4),10)))),0))
(value to round in F4, US-locale)
and it will likely fail in calc as rawsubtract produces something with 5.5E-17 instead of 4.4E-17, the ‘5’ would trigger a round up
thus any better / easier solution would be highly appreciated …