为什么.net模运算的工作量与Windows Calcuator的小数点不同?

Ben*_*dEg -1 c# calculator modulo

为什么1070 % 21,4在Windows计算器和.net 中给出不同的结果?

(.Net结果为7.1 ....)

结果应始终为0。我理解大数字的区别,但是恕我直言,这些小数字应该可以使用。

非常感谢!

Ste*_*odd 5

它全部在%运算符的文档中。它的浮点余数,不是模。如果您想要与计算器兼容的功能,请使用 此功能

例如:

private static void ShowRemainders(double number1, double number2)
{
   var formula = $"{number1} / {number2}";
   var ieeeRemainder = Math.IEEERemainder(number1, number2);
   var remainder = number1 % number2;
   Console.WriteLine($"{formula,-16} (.IEEE) = {ieeeRemainder,18}");
   Console.WriteLine($"{formula,-16} (.NET)  = {remainder,18}");
}
Run Code Online (Sandbox Code Playgroud)