Форум программистов, компьютерный форум, киберфорум
Наши страницы

Появляющиеся нули при переводе из массива char в double - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дана целочисленная квадратная матрица. Определить: 1. сумму элементов в тех столбцах, которые не содержат отрицательных элементов;= http://www.cyberforum.ru/cpp-beginners/thread855772.html
Дана целочисленная квадратная матрица. Определить: 1. сумму элементов в тех столбцах, которые не содержат отрицательных элементов; 2. минимум среди сумм модулей элементов диагоналей, параллельных...
C++ Начало работы со встроенным ассемблером Помогите, кто знает как с этим работать Проходим в универе встроенные в с++ ассемблер, накидал простейшую программку(ввод строки символов с клавиатуры и её же вывод на экран) Собственно код: ... http://www.cyberforum.ru/cpp-beginners/thread855761.html
C++ Многочлен от одной переменной
Описать класс многочленов от одной переменной, задаваемых степенью многочлена и массивом коэффициентов. Обеспечить следующие возможности: • вычисление значения многочлена для заданного аргумента;...
метод итераций C++
x+cos(x^0,52+2)=0; на промежутке , с точностью 0,9892
C++ Описать функцию возведения любого натурального числа n в куб без операции умножения, пользуясь следующим свойством: куб любого числа n равен http://www.cyberforum.ru/cpp-beginners/thread855746.html
То есть {1}^{3}=1 {2}^{3}=3+5 {3}^{3}=7+9+11 Написала программу на С++ Оказалось что функцию не описала. Как это сделать? #include <iostream.h> void main () {
C++ Динамический массив есть примерно такая функция: int *funktion (int size){ int *g = new int ; ... //функция работы с дин. массивом подробнее

Показать сообщение отдельно
dark94
10 / 10 / 3
Регистрация: 23.04.2013
Сообщений: 81
Завершенные тесты: 2

Появляющиеся нули при переводе из массива char в double - C++

04.05.2013, 17:12. Просмотров 438. Ответов 1
Метки (Все метки)

Здравствуйте! Пишу калькулятор и описываю кнопку "+/-".
C++
1
2
3
a=atof(nBuf);
a=a*(-1);
sprintf (nBuf, "%f", a);
nBuf - массив char, в котором записано число.
a - переменная типа double.
Вообще массив nBuf размером 10, поэтому фактически, имея в нем всего 1 цифру (например 4), при переводе с помощью функции atof переменная a получает число 4.000000000. А уже sprintf сокращает число незначащих нулей до стандартных 6. Как же возможно исправить мой код, чтобы не было этих нулей.

Добавлено через 20 минут
есть вариант вместо sprintf использовать
C++
1
_gcvt(a, MAXOUT, nBuf);
Но при переводе дробных чисел, точность страдает)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru