Pac*_*ier 2 .net c# vb.net math numbers
大家好,我想知道.Net中是否有一个类用于计算没有舍入误差的精确数字?
例如,这不是我想要的:
decimal dividend = Decimal.One;
decimal divisor = 3;
dividend/divisor * divisor // gives us 0.9999999999999999999999999999 instead of 1
Run Code Online (Sandbox Code Playgroud)
我在想是否有一个数字类缓冲操作,直到我们需要显示它,换句话说它看起来像这样:
Num n = new Num(1);
n.DivideBy(3);
n.MultiplyBy(3);
n.toString(); // gives us "1"
Num n2 = new Num(n);
n2.DivideBy(3);
int decimal_places = 8;
n2.RoundHalfUp(decimal_places);
n2.toString(); // gives us "0.33333333"
Run Code Online (Sandbox Code Playgroud)
当然,这只是一个示例实现.基本上这里的要点是我正在寻找一个没有任何舍入误差的类(通常是通过将计算推迟到最后一刻).
我知道性能会比Double或慢Decimal.但它不必盲目快速地进行计算,只要它在可接受的时间内.
| 归档时间: |
|
| 查看次数: |
191 次 |
| 最近记录: |