Удалось пока выяснить что при передаче числа 0,999 в строку попадает 0,099, если добавить еще одну "9" 0,9999 в строку попадает 0,0099, сравнил два файла strnum, прикрепленный выше и скачанный раннее, было пару отличий но это никак не повлияло на результат, еще заменил в функции double на...