Then try excel or any other tool for that (with similar expression) since the TF heavily uses rounding and caching of decimal values to calculate things. Note there is no way to use float numbers on TF, so... it just process the decimals in additional steps.

Bit off-topic ...

Can you shell excel from within splittercode?

I don't know what you mean. Of course you can work in TF with floats, calculations and proper rounding with a selectable number of digits behind the dot. You just have to shift the value to a much larger integer value to work with. Since I decided I don't ever want more than 9 digits after the dot in the result that means the original float (eg text consisting of only digits and only one dot somewhere) has to be enlarged inside the routine by adding 10x 0 to work with.

For reference the rounding routine:

$puts(cmt, --- CODE.ROUNDPREC ---)

$puts(round.value,$trim($get(round.value)))

$puts(round.precision,$trim($get(round.precision)))

$ifgreater($get(round.precision),9,

$puts(round.precision, 9)

,

$ifgreater($get(round.precision),0,

,

$if($stricmp($get(round.precision),0),

,

$puts(round.precision, 2)

)

)

)

$if($get(round.value),

$puts(round.i, $strchr($get(round.value),.))

$ifgreater($get(round.i),1,

$puts(round.value,$get(round.value)0000000000)

,

$ifequal($get(round.i),0,

$puts(round.value,$get(round.value).0000000000)

,

$puts(round.value,0$get(round.value)0000000000)

)

$puts(round.i, $strchr($get(round.value),.))

)

$puts(round.int,$add($cut($get(round.value),$sub($get(round.i),1)),0))

$puts(round.fract,$substr($get(round.value),$add($get(round.i),1),$add($get(round.i),1,$get(round.precision))))

$puts(round.round,$add(1$get(round.fract),5))

$puts(round.res_int,$add($get(round.int), $if($stricmp($cut($get(round.round),1),1), 0, 1)))

$puts(round.res_fract,$ifgreater($get(round.precision),0,.$substr($get(round.round), 2, $add(1,$get(round.precision))),))

$puts(round.result,$get(round.res_int)$get(round.res_fract))

,

$puts(round.result,)

)