C# 如何将数字四舍五入到小数点后2位?

C# 如何将数字四舍五入到小数点后2位?,c#,C#,当我想得到-0.94时,我得到了-0.9444444 假设输入的温度为30.3,然后单击“华氏到摄氏” using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Tem

当我想得到-0.94时,我得到了-0.9444444 假设输入的温度为30.3,然后单击“华氏到摄氏”

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace TemperatureConverter
{
    public partial class FrmTemperature : Form
    {
        public FrmTemperature()
        {
            InitializeComponent();
        }

        private void btnCalcFahrenheit_Click(object sender, EventArgs e)
        {
            lblFahrenheit.Text = Convert.ToString(9.0/5.0 * Convert.ToDouble(txtTemperature.Text) + 32.0);
        }

        private void btnCalcCelsius_Click(object sender, EventArgs e)
        {
            lblCelsius.Text = Convert.ToString(5.0/9.0*(Convert.ToDouble(txtTemperature.Text) - 32.0));
        }
    }
}

使用
ToString
方法,如下所示:

(5.0/9.0*(Convert.ToDouble(txtTemperature.Text) - 32.0)).ToString("0.00");
我还建议您将温度文本作为单独的步骤进行解析,以显示用户错误

e、 g


使用
ToString
方法,如下所示:

(5.0/9.0*(Convert.ToDouble(txtTemperature.Text) - 32.0)).ToString("0.00");
我还建议您将温度文本作为单独的步骤进行解析,以显示用户错误

e、 g

也许可以使用string.Format()或字符串插值(C#6.0中的新功能)

使用string.Format()

使用字符串插值:

private void btnCalcFahrenheit_Click(object sender, EventArgs e)
{
    var fahrenheit = 9.0/5.0 * Convert.ToDouble(txtTemperature.Text) + 32.0;
    lblFahrenheit.Text = $"{fahrenheit:N2}";
}
private void btnCalcCelsius_Click(object sender, EventArgs e)
{
    var celsius = 5.0/9.0*(Convert.ToDouble(txtTemperature.Text) - 32.0);
    lblCelsius.Text = $"{celsius:N2}";
}
请注意,格式化程序“N2”将使用所选区域设置的基数和分隔符对数字进行格式化。对于US-EN,基数为“.”,分隔符为“.”。例如,1295.422度将被格式化为1295.42。

可能使用string.Format()或字符串插值(C#6.0中的新功能)

使用string.Format()

使用字符串插值:

private void btnCalcFahrenheit_Click(object sender, EventArgs e)
{
    var fahrenheit = 9.0/5.0 * Convert.ToDouble(txtTemperature.Text) + 32.0;
    lblFahrenheit.Text = $"{fahrenheit:N2}";
}
private void btnCalcCelsius_Click(object sender, EventArgs e)
{
    var celsius = 5.0/9.0*(Convert.ToDouble(txtTemperature.Text) - 32.0);
    lblCelsius.Text = $"{celsius:N2}";
}

请注意,格式化程序“N2”将使用所选区域设置的基数和分隔符对数字进行格式化。对于US-EN,基数为“.”,分隔符为“.”。例如,1295.422度将被格式化为1295.42。

@ChristianGollhardt我读过它,并尝试了几种不同的方法,但似乎无法得到答案。这就是为什么我发布了我自己的。简单使用
(你的计算)。ToString(“#.###”)
@ChristianGollhardt我试过了,它也不起作用什么不起作用,例如,什么意思不起作用?请编辑您的问题,并准确解释哪些不起作用。你得到了什么编译器/运行时错误?@ChristianGollhardt我得到了我在帖子中所说的-0944444444444@ChristianGollhardt我读了很多书,尝试了几种不同的方法,但似乎都没有找到答案。这就是为什么我发布了我自己的。简单使用
(你的计算)。ToString(“#.###”)
@ChristianGollhardt我试过了,它也不起作用什么不起作用,例如,什么意思不起作用?请编辑您的问题,并准确解释哪些不起作用。你得到了什么编译器/运行时错误?@ChristianGollhardt我得到了我在帖子中所说的-0.944444请参阅,。请参阅。