Мне нужно вывести числа в научной нотации так, чтобы перед десятичной запятой всегда был "0"
например. Для числа х = 134,87546 мне нужно произвести вывод 0.134875E03 НЕ 1.348755E02
Кто-нибудь знает, как это сделать?
Заранее спасибо - Шираз.
int exp = (int)log10(input)+1; double shifted = input / pow(10.0, exp); printf("%fE%d", shifted, exp);
Вы можете исследовать использование библиотеки Boost Format , которая является общей библиотекой форматирования вывода.
int exponent = floor(log10(num)) + 1;
Затем просто выведите «0», число без десятичных знаков, «E», затем показатель степени.