C# 在将int转换为double时,如何显示小数点和小数点后的两位?

C# 在将int转换为double时,如何显示小数点和小数点后的两位?,c#,math,compact-framework,windows-ce,.net-1.1,C#,Math,Compact Framework,Windows Ce,.net 1.1,给定123、1234和12345等值,我需要将它们分别转换为1.23、12.34和123.45 当我在textbox2中输入123、1234和12345时,会出现以下代码: int originalVal = Convert.ToInt16(textBox2.Text); double doubled = Convert.ToDouble(originalVal/100); …给我1、12和123,而不是预期的1.23、12.34和123.45 我需要做什么才能得到想要的结果?请注意,这是一个

给定123、1234和12345等值,我需要将它们分别转换为1.23、12.34和123.45

当我在textbox2中输入123、1234和12345时,会出现以下代码:

int originalVal = Convert.ToInt16(textBox2.Text);
double doubled = Convert.ToDouble(originalVal/100);
…给我1、12和123,而不是预期的1.23、12.34和123.45


我需要做什么才能得到想要的结果?请注意,这是一个使用VS2003和.NET 1.1的Windows CE/Compact Framework项目。

您正在进行整数除法,因为
originalVal
100
本身都是整数。尝试:

originalVal/100.0
使用
100.0
使编译器生成浮点除法的代码。或者,这将产生相同的效果:

Convert.ToDouble(originalVal)/100

在进行除法之前,您正在将您的
原始值
整数转换为双精度。

我看到您已经有了答案,但是

double originalVal = Convert.ToDouble(textBox2.Text);
double doublePercented = originalVal/100D;
private TextBox txtNumerator, txtDenominator, txtResult;

public MyClass() {
  txtNumerator = new TextBox();
  txtNumerator.TextChanged += new TextChangedEvent(TextBox_TextChanged);
  txtDenominator = new TextBox();
  txtResult = new TextBox();
}

private void TextBox_TextChanged(object sender, EventArgs e) {
  double numerator = Convert.ToDouble(txtNumerator.Text.Trim());
  double denominator = Convert.ToDouble(txtDemominator.Text.Trim());
  if (denominator != 0) {
    double result = numerator / denominator;
    // Ref: http://www.csharp-examples.net/string-format-double/
    txtResult.Text = string.Format("{0:0.00}", result);
  } else {
    throw new DivideByZeroException("Denominator can not be zero.");
  }
}
您特别询问了如何获得双精度到小数点后2位。格式将为您完成此操作

此外,使用事件处理程序,您的人员不必单击某些计算按钮