How to multiply a BigInteger with a decimal in C#?
var bi = new BigInteger(1000);
var d = 0.9m;
// HowTo:
var res = BigInteger.Multiply(bi, d); // res = 900
Of course, the result should be floored down to the previous full integer value.
There is a practical background, but in regards to the posted "duplicate", I'm also interested into an answer to the question from a theoretical point of view. I'm not looking for a workaround by using double instead.