<分区>
我是 C# 初学者,我正在处理 float 。我需要在这两个数字之间做减法,但它不起作用。我知道它是由 float 引起的,但我该如何解决它,如果你这么好,你能解释一下为什么会这样吗?提前致谢。
<分区>
我是 C# 初学者,我正在处理 float 。我需要在这两个数字之间做减法,但它不起作用。我知道它是由 float 引起的,但我该如何解决它,如果你这么好,你能解释一下为什么会这样吗?提前致谢。
最佳答案
考虑使用小数而不是 float :
// Instead of this...
float a = 12.345F;
float b = 12;
float c = a - b;
// Use this:
decimal d = 12.345M;
decimal e = 12;
decimal f = d - e;
Jon Skeet 在这个答案中很好地解释了两种类型之间的差异:https://stackoverflow.com/a/618596/446681
关于C# 错误的减法? 12.345 - 12 = 0.345000000000001,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9890477/