转换为十进制&;将数字格式化为小数点后的2位数字

本文关键字:数字 小数点 格式化 2位 十进制 amp 转换 | 更新日期: 2023-09-27 18:27:27

下面代码的输出产生一个十进制数,小数点后有13位数字。我想把那个数字四舍五入到小数点后只有两位。我试过使用Decimal.Round Method,但没有成功,显然我使用不对。

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)
        {
            TimeSpan time = TimeSpan.FromSeconds(1000);
            double downloadTime = time.TotalHours;
            double money = 50;
            double wifeSpending = money * downloadTime;

            Console.WriteLine(Convert.ToDecimal(wifeSpending));
        }
    }
}

转换为十进制&;将数字格式化为小数点后的2位数字

我从你的评论中了解到,你是这样做的:

Math.Round(wifeSpending, 2);

Round方法不会更改您传入的变量。如果它愿意,它甚至不能更改,因为double值是按值传递的(而不是按引用传递的)。

Round方法的作用是返回一个新的四舍五入的double。以下是您需要做的:

wifeSpending = Math.Round(wifeSpending, 2);