Читать числа из файла до двух значащих цифр?

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main() {
ifstream basketFile;
basketFile.open("basket.txt");

double price;

while (!basketFile.eof()) {
basketFile >> price;
cout << price << endl;
}

}

basket.txt

27.9933
18.992
9.754
11.2543

В любом случае, я могу сделать так, чтобы числа отображались только двумя значащими цифрами? Кроме того, если я хочу округлить число, как бы я это сделал? Например, если бы у меня были номера 6,66 и 4,33, я бы хотел 6,66-> 6,70 и 4,33-> 4,30. Любая помощь?

1

Решение

Пытаться setprecision.

Для округления числа см. round.

Кроме того, если вы решили округлить с точностью до 0,1, я думаю, вы можете просто добавить ноль 0 после округленного результата.


#include <iostream>
#include <iomanip>
using namespace std;

void p(double x) {
cout << fixed << setprecision(1) << x << 0 << endl;
}

int main() {
p(27.9933);
p(18.992);
p(9.754);
p(11.2543);
p(6.66);
p(4.33);
return 0;
}

Код выше выводит:

28.00
19.00
9.80
11.30
6.70
4.30

Надеюсь, это то, что вы хотите.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector