【发布时间】:2012-02-22 20:41:54
【问题描述】:
我正在尝试创建一个大整数除以某物时的十进制表示。以下是执行此操作的代码,基本上我希望精度为 2 位。
public string GetDecimal(BigInteger bigInteger,int divisor)
{
var remainder = BigInteger.Remainder(bigInteger, divisor);
var dividend = BigInteger.Divide(bigInteger, divisor);
var d = ((double)remainder / divisor);
var decimalPart = Math.Round(d, 2);
var retValue = dividend + decimalPart.ToString(".00");
return retValue;
}
}
请问有更好的方法吗?
谢谢, -迈克
【问题讨论】:
-
你可以用一个 DivRem 调用来完成前两行 -- msdn.microsoft.com/en-us/library/…
-
变量
dividend应命名为quotient。 “股息”是指“被分割的东西”;被除数类似于分数的分子。换句话说,quotient = dividend / divisor. -
您的代码实际上已损坏。用
999/1000进行测试
标签: c# c#-4.0 biginteger