C# 如何将数字四舍五入到小数点后2位?
当我想得到-0.94时,我得到了-0.9444444 假设输入的温度为30.3,然后单击“华氏到摄氏”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
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请参阅,。请参阅。