C#如何在没有隐式舍入的情况下划分小数

And*_*est 6 c# decimal division

在c#中,当您执行两位小数的除法时,如果真正的数学结果不能精确地存储为十进制类型,则结果的最后一位将自动舍入.

我想编写一个执行除法的函数,即使最后一位数字总是向下舍入,即使最后一位数字通常会导致向上舍入.

我的函数将被声明为MyDivide(十进制a,十进制b)

例如MyDivide(2.0M,3.0M)=> 0.6666666666666666666666666666

而c#除法运算符将产生2.0M/3.0M => 0.6666666666666666666666666667

任何实现这一点的帮助表示赞赏

jas*_*son 3

您将必须自己实现长除法。没有办法欺骗内置的部门来为你做这件事(提示:你无法区分2m / 3mand.6666666666666666666666666667m / 1m6666666666666666666666666667m / 10000000000000000000000000000m)。