大十进制数解析

时间:2013-12-09 19:41:31

标签: c#

我知道这有一些答案,但不完全是我正在寻找的。

我有一个带有自定义脚本语言的应用程序,用于文件格式,可以添加,减去数字......

一部分将产生十进制,十六进制转换,我能够使用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是一样灵活。如果不可能,那很好。

0 个答案:

没有答案