На самом деле, кроме gprintf("%t",95)
и gprintf("%T",95)
, не показывающих ожидаемую мантиссу и силу, также формула floor(log10(n))
иногда не показывает правильную мощность n
. (см. здесь: gnuplot: как получить правильный порядок величины? )
Предложение для обходного пути: следующие формулы делают обход через форматирование строки, но, по крайней мере, они всегда должны давать правильную мантиссу и силу.
Mantissa(n) = real(sprintf("%.15e",n)[1:strstrt(sprintf("%.15e",n),"e")-1])
Power(n) = int(sprintf("%.15e",n)[strstrt(sprintf("%.15e",n),"e")+1:])
В долгосрочной перспективе функции gprintf("%t",...)
, gprintf("%T",...)
должны быть исправлены в исходном коде gnuplot.