我正在生成小数,例如:
0.8235294117647058823529411765
0.1764705882352941176470588235
我想将它们相乘,10
然后将它们四舍五入。如果点之后的第二个数字小于5
然后做它0
。否则,做它1
。对于上述示例,这将是:
8
2
结果应该放在一个int
.
我正在生成小数,例如:
0.8235294117647058823529411765
0.1764705882352941176470588235
我想将它们相乘,10
然后将它们四舍五入。如果点之后的第二个数字小于5
然后做它0
。否则,做它1
。对于上述示例,这将是:
8
2
结果应该放在一个int
.
Math.Round()
如果您想将其保持为 adecimal
或 round 到一定的精度,您可以使用它。
decimal dec = 0.8235294117647058823529411765m;
decimal rounded = Math.Round(dec * 10); // 8m
decimal roundedToOne = Math.Round(dec * 10, 1); // 8.2m
仅供参考,为to定义了显式转换,因此您可以通过强制转换为decimal
int
int
int a = (int)(dec * 10); // 8
这可以与向上和向下舍入数字的条件结合使用
decimal num = dec * 10;
int a = (int)num + (num % 0 < .5m ? 0 : 1); // 8