我有一个 BigIntiger,比如 1234567890,我正在寻找最快的方法将它变成如下之一:
- 2000000000
- 1300000000
- 1234567900
最佳答案
我不认为有这样做的内置方式。
获得“无余数”的最简单方法是将值减去余数:
“四舍五入”不给 13 的余数:
var x = new BigInteger(123456);
var roundedTo13 = x - (x % 13);
或者到 100:
var roundedTo100 = x - (x % 100);
Console.WriteLine(roundedTo100);
如果您需要更传统意义上的舍入 - 检查余数是否大于您要舍入的值以及您要舍入的数字的符号。如果余数 (x % 100) 的值大于一半,则需要加/减 100。
关于c# - 有没有办法对 BigInteger 进行舍入或取整?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34169368/