如何将输出格式设置为小数点后两位和'$';符号
本文关键字:两位 符号 输出 格式 设置 小数点 | 更新日期: 2023-09-27 18:09:35
C#语言新手我刚创建完一个贷款抵押计算器,在格式化下面的代码时遇到了问题。我想做的是将每月付款值格式化为小数点后2位,并添加"$"符号。如有任何帮助,我们将不胜感激。谢谢
我的本金金额示例输入:
//User input for Principle amount in dollars
Console.Write("Enter the loan amount, in dollars(0000.00): ");
principleInput = Console.ReadLine();
principle = double.Parse(principleInput);
//Prompt the user to reenter any illegal input
if (principle < 0)
{
Console.WriteLine("The value for the mortgage cannot be a negative value");
principle = 0;
}
//Calculate the monthly payment
double loanM = (interest / 1200.0);
double numberMonths = years * 12;
double negNumberMonths = 0 - numberMonths;
double monthlyPayment = principle * loanM / (1 - System.Math.Pow((1 + loanM), negNumberMonths));
//Output the result of the monthly payment
Console.WriteLine("The amount of the monthly payment is: " + monthlyPayment);
Console.WriteLine();
Console.WriteLine("Press the Enter key to end. . .");
Console.Read();
我想做的是将每月付款值格式化为小数点后2位,并添加"$"符号。
听起来您想要使用货币格式说明符。
Console.WriteLine("The amount of the monthly payment is: {0:c}", monthlyPayment);
当然,这并不总是使用美元符号——它将使用线程当前文化的货币符号。始终可以显式指定CultureInfo.InvariantCulture
。
但是,我强烈建议不要使用double
作为货币值。请改用decimal
。
来自MSDN:标准数字格式字符串(查找"货币("C"(格式指定符"(
Console.WriteLine("月供金额为:{0:C2}",monthlyPayment(;
您可以使用Math.Round()
函数:
double inputNumber = 90.0001;
string outputNumber = "$" + Math.Round(inputNumber, 2).ToString();
要使用小数点后两位,可以使用:
Console.WriteLine("The amount of the monthly payment is: "$ " + Math.Round(monthlyPayment,2));