我真的很困惑,为什么会这样,我的代码:
<section class="building-bg">
<div class="container">
<div class="row">
<div class="col-md-8">
<!-- text content -->
</div>
<div class="col-md-4">
<!-- png image with some negative margins or translate property -->
</div>
</div>
</div>
</section>
显示0。 答案是
0.8164,我知道我也必须使用Math.Round来解决这个问题,但目前问题是我得到了0
答案 0 :(得分:10)
问题是由数字的自动整数评估引起的。使用:
double x = Math.Sqrt(2f/3f);
MessageBox.Show(x.ToString());
答案 1 :(得分:2)
2 / 3
是一个整数运算,你想要的是2.0 / 3
,这意味着我想使用浮点数。
您认为Intereger
与您对数学的了解不同。在编程语言中,它意味着int操作的结果本身就是一个整数。
在您的示例中,2 / 3
是一个整数运算,这意味着结果向下舍入到最接近的整数,即0。要避免这种情况,请指出至少应将一个操作数作为某个浮点值进行处理,使用2.0
或2f
(替代3.0
或3f
)。