我知道这有一些答案,但不完全是我正在寻找的。 p>
我有一个带有自定义脚本语言的应用程序,用于文件格式,可以添加,减去数字......
一部分将产生十进制,十六进制转换,我能够使用BigInteger类,这很好,因为我不必担心大值。
对于数学运算虽然我使用了Decimal但是我想知道是否有人对BigInteger这样的东西有任何建议我可以用于Decimal。我见过BigRational,但看起来不合适。
以下是使用它的代码段。 asdecimal可能看起来很愚蠢,但它只是十进制解析,如果无效,则返回零。
private string Subtract(StringReader reader, string text)
{
string value = reader.ReadToEnd();
value = Evaluate(value);
var a = text.AsDecimal();
var b = value.AsDecimal();
return (a - b).ToString();
}
更清楚地说明这一点。由于BigInteger
,此函数可以处理任何可能的情况private string HexToDec(string value)
{
try
{
var input = this.Evaluate(value);
var number = BigInteger.Parse(input, System.Globalization.NumberStyles.HexNumber);
return number.ToString();
}
catch (Exception)
{
return "INVALID_HEX_NUMBER";
}
}
我想减去tot是一样灵活。如果不可能,那很好。