C++ вывести число до 5 знаков
В выходной файл OUTPUT.TXT выведите ответ с точностью 10^-5.
Не могу сделать так что бы выводился ответ в файл с точностью до 5 знаков.
Тоесть если ответ у меня получился 3, то в файл надо вывести 3.00000, а если 3.4999999, то 3.49999 и т. д
Впринципе это можно реализовать через fprintf "%.5f", но я работаю с через файловый поток fstream, а у
fprintf первый параметр это указатель на переменную FILE.
у меня есть мысль сделать так:
если ответ 3, тоесть целое число, то в файл вывести 3 и еще .00000
а если ответ 3.1234567, тоесть после запятой больше 5 символов то можно сделать, так:
k = 3.1234567;
k *= 100000;
k = round(k);
k = k / 10000;
если ответ 3.1234, если меньше пяти цифр после запятой НО больше 0, тогда выводим 3.1234(ответ) и дополняем нулями сколько надо до 5 цифр.
Это конечно получается порнуха, но я другого варианта не вижу.
Может что то разумное подскажете? а что стыдно таким извращенным способом это делать) )
только ненадо через printf/fprintf