我需要使用逗号前的8位数和逗号后的8位数来操作,例如: 12345678,12345678
。
如何在不失去准确性的情况下执行除法,乘法和求和操作,并且我想执行快速计算。
你有什么建议?我在Visual Studio 2013中工作,C#。
答案 0 :(得分:1)
.NET的数据类型可以达到你想要的效果 - System.Decimal
,在C#中缩短为decimal
。
decimal关键字表示128位数据类型。与浮点类型相比,十进制类型具有更高的精度和更小的范围,这使其适用于财务和货币计算。
它支持的数字范围是负数和正数79,228,162,514,264,337,593,543,950,335,它支持28-29位有效数字。此外,它支持开箱即用的所有常规数值运算(除法,乘法等)。
答案 1 :(得分:0)
我决定使用BigInteger类型并在逗号之后以单独的整数存储一定数量的整数。
BigInteger number1= new BigInteger(52793562305619195816059);
int amount1=10;
BigInteger number2=new BigInteger(568416843186432156843521);
int amount2=10;
BigInteger result=BugInteger.Mul(number1,numner2);
BigInteger remainder;
result=Biginteger.DivRem(result,amount1*amount2,remainder);
if (remainder>0)
result++;