C# 如何将整数的格式设置为结尾为.00
我想实现以下目标:无论控制台上打印的是什么数字,它都必须在小数点后有2位。当结果是一个十进制数时,程序将其舍入到小数点后的2位,因此这是可以的。但是,问题是整数没有附加.00,即100被打印为100,而不是我希望的100.00。我已经为此奋斗了很长一段时间,所以我非常感谢您的帮助C# 如何将整数的格式设置为结尾为.00,c#,numeric,C#,Numeric,我想实现以下目标:无论控制台上打印的是什么数字,它都必须在小数点后有2位。当结果是一个十进制数时,程序将其舍入到小数点后的2位,因此这是可以的。但是,问题是整数没有附加.00,即100被打印为100,而不是我希望的100.00。我已经为此奋斗了很长一段时间,所以我非常感谢您的帮助 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TorrentPirate
{
class Program
{
static void Main(string[] args)
{
int megabytes = int.Parse(Console.ReadLine());
int cinemaPricePerMovie = int.Parse(Console.ReadLine());
int wifeSpendingHour = int.Parse(Console.ReadLine());
TimeSpan time = TimeSpan.FromSeconds(megabytes/2);
double downloadTime = time.TotalHours;
double downloadPrice = wifeSpendingHour * downloadTime;
int NumberOfMoviesDownloaded = megabytes / 1500;
double cinemaPrice = NumberOfMoviesDownloaded * cinemaPricePerMovie;
if (cinemaPrice >= downloadPrice)
{
downloadPrice = Math.Round(downloadPrice, 2);
Console.WriteLine("{0} -> {1}lv", "mall", Convert.ToDecimal(downloadPrice));
}
else
{
cinemaPrice = Math.Round(cinemaPrice, 2);
Console.WriteLine("{0} -> {1}lv", "cinema", Convert.ToDecimal(cinemaPrice));
}
}
}
}
为什么不把它显示为一个字符串呢
Console.WriteLine("{0} -> {1}lv", "mall", downloadPrice.ToString("#.##"));
您可以使用
.ToString(“0.00”)
:
或者,您可以简单地使用格式说明符N2
:
Console.WriteLine("{0} -> {1:N2}lv", "mall", downloadPrice);
请参阅。
Console.WriteLine(“{0}->{1}lv”,“mall”,downloadPrice.ToString(“#.#”)代码>重现问题的最低代码是多少?您发布的代码似乎非常必要。这不起作用。尝试键入值30000、5、50。
Console.WriteLine("{0} -> {1}lv", "mall", downloadPrice.ToString("0.00"));
Console.WriteLine("{0} -> {1:N2}lv", "mall", downloadPrice);