![]() |
1
5
首先,重要的是要记住
您看到上述行为的原因在于编译器—如果您在reflector中查看编译的程序集,那么这里发生的事情就更清楚了:
(
我把代码改了,这样就不用了
其他一些有趣的案例:
编译器似乎只在几个特殊情况下才执行上述技巧,为什么它只在转换为double时执行此操作我完全不明白! 剩下的时间,它似乎做了一些骗局,使浮点运算 似乎 |
![]() |
2
2
结果似乎是四舍五入。您是否用必要的精度数字显示结果?你可以用 this c# class
|
![]() |
3
1
如果我是一个赌徒,我会说不同的是在哪里发生的胁迫。在后两个例子(6/10f)中,有两个文字都是整数(整数6和浮点10.00000000…)。除法似乎是在强制之后发生的,至少在您使用的编译器中是这样。在前两个示例中,您有一个分数float literal(0.6),它不能充分地表示为float尾数内的二进制值。将该值强制为double不能修复已经造成的损坏。
|
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |