如何设置末尾为.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));
}
}
}
}
为什么不将其显示为字符串?
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("#.##"));