Реализовывая код в C ++, использовав cout
чтобы показывать из-за экрана серию чисел "double" они выходят у меня как целые числа (или же, если это 6, он хотел бы, чтобы вышел 6.00). Уже я попытался с setprecision
, но останься, не меня функционируя. Я оставляю вам пример кода:
cout << setw(7) << " h" << ivb[i]-n+1 << " = " << setprecision(2) << b[i];
(ivb
он целый, но b
он double).
Ты мог бы пробовать используя fixed, показывая, что будет установленное число десятичных цифр после запятой.
cout << setw(7) << " h" << ivb[i]-n+1 << " = " << setprecision(2) << fixed << b[i];
Например:
cout << setprecision (2) << fixed << 2.1;
Он напечатал бы: 2.10
Таким же образом, использование setprecision зависит от способа, в котором десятичная точка форматируется: fixed, scientific или floatfmt () (по умолчанию).
Я не вижу проблему, но проверь, что стоимость b[i]
была double!, конечно это недостаток. С другой стороны, ВїquГ© он тебе кажется, если он увеличивается nГєmero десятичных?, например:
<< setprecision(5) << b[i];
#include <iomanip>
#include <iostream>
int main()
{
double num1 = 3.12345678;
double num = 3;
std::cout << std::setprecision(5) << num1 << std::endl;;
std::cout << num1 << std::endl;
std::cout << std::setprecision(5) << num << std::endl;;
std::cout << num << std::endl;
return 0;
}
Может видеть, что, хотя номер будет double он не показывает десятичных, может быть, это - то, что он перемещает его, cuanado я говорю, что был double! , с другой стороны может видеть, что, не используя << std::setprecision(5)
, он показывает ему десятичных.
std::cout << num1 << std::endl; //3.12346
, Если он хочет, чтобы они появились в случае, сходном со случаем номера, может использовать:
std::cout << std::fixed << std::setprecision(5) << num << std::endl;
std::cout << num << std::endl;