我有这么小的代码
double s = -2.6114289999999998;
double s7 = Math.Round(s, 7);
double s5 = Math.Round(s, 5);
double s6 = Math.Round(s, 6);
Run Code Online (Sandbox Code Playgroud)
有了Platform = Any CPU,我明白了
s7: -2.611429
s5: -2.61143
s6: -2.611429
Run Code Online (Sandbox Code Playgroud)
使用Platform = x64,我得到了
s7: -2.6114289999999998
s5: -2.61143
s6: -2.6114289999999998
Run Code Online (Sandbox Code Playgroud)
为什么?(从VS的Locals窗口复制的输出)
整段代码是:
private void btnAlign_Click(object sender, EventArgs e)
{
double s = -2.6114289999999998;
double s7 = Math.Round(s, 7);
double s5 = Math.Round(s, 5);
double s6 = Math.Round(s, 6);
}
Run Code Online (Sandbox Code Playgroud)