如何设置末尾为.00的整数格式

本文关键字:整数 格式 何设置 设置 | 更新日期: 2023-09-27 18:27:50

我想实现以下目标:无论打印到控制台的数字是多少,小数点后都必须有2个数字。当结果是一个十进制数字时,程序会将其四舍五入到十进制标记后的2位,所以这是可以的。然而,问题是,整数没有附加.00,即100被打印为100,而不是我想要的1100.00。我已经为此挣扎了很长一段时间,所以我将非常感谢任何帮助。

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));
            }
        }
    }
}

如何设置末尾为.00的整数格式

为什么不将其显示为字符串?

Console.WriteLine("{0} -> {1}lv", "mall", downloadPrice.ToString("#.##"));

您可以使用.ToString("0.00"):

Console.WriteLine("{0} -> {1}lv", "mall", downloadPrice.ToString("0.00"));

或者,您可以简单地使用格式说明符N2:

Console.WriteLine("{0} -> {1:N2}lv", "mall", downloadPrice);

请参见标准数字格式字符串。

Console.WriteLine("{0} -> {1}lv", "mall", downloadPrice.ToString("#.##"));