Я пытаюсь выровнять следующий код за последние 3 часа с нулевым успехом. Может ли кто-нибудь наполнить меня тем, что я делаю неправильно? Моя цель состоит в том, чтобы иметь буквальное левую строку выровненную и переменную выравнивание по правому краю, как это:Другая проблема выравнивания вывода C++
Loan amount: $ 10000.00
Monthly Interest Rate: 0.10%
Но это то, что я держу адресности:
Loan amount: $ 10000.00
Monthly Interest Rate: 0.10%
И это самая последняя версия о том, что Я пытался:
cout << setw(25) << "Loan amount:" << right << "$ "<< amount << endl;
cout << setw(25) << "Monthly Interest Rate:"<< right<< rateMonthly << "%" << endl;
Я бы очень признателен за помощь.
'right' не действует, если не используется в сочетании с' setw', например. '<< right << setw (10) << rateMonthly'. –
Как видно из других ответов (хотя и не объяснено, почему), 'right' является« липким »; поэтому вам нужно снова установить «left» для следующей строки. На самом деле все манипуляторы являются липкими, за исключением 'setw'. –
Если вы собираетесь использовать более сложное форматирование, которое требует выравнивания влево-вправо, вы можете написать свою собственную функцию для этого, которая берет левую строку и правильную строку и ширину в качестве аргументов –