【发布时间】:2017-07-07 12:23:15
【问题描述】:
我想显示double 到int 的数字转换。但我很困惑。这是我的代码。
private void tbxDouble_TextChanged(object sender, EventArgs e)
{
tbxInt.Text = Convert.ToDouble(tbxDouble.Text).ToString("F0");
tbxInt2.Text = Math.Round(Convert.ToDouble(tbxDouble.Text),0).ToString();
}
100,5 的结果 => 101 和 100
100,56 的结果 => 101 和 101
100,49 的结果 => 100 和 100
为什么所有结果都不是 101?这有什么问题?
【问题讨论】:
-
哦,逗号是英文小数点。没有立即看到这一点,我感到非常省心。
-
是的,根据我的操作系统,逗号是小数点。迈克尔有什么问题?
-
为什么在您看来
100,49应该是101? -
也许打印中间值而不是直接将它们放入
ToString()会有所帮助。查看来自 `Convert.ToDouble(tbxDouble.Text) 的确切内容可能会让事情更容易看到。 -
@lotomax 仅当您首先将 100,49 转换为小数点后一位,然后再转换为小数点零位时,它才会像您所描述的那样工作 - 如果您想一步转换为整数值,它将是 100
标签: c# int type-conversion double decimal