2016-11-12 188 views
0

从我以前的问题做笔记,我创建了几个返回double的函数。MathNet中的双精度到十进制

using System; 
using MathNet.Numerics.Statistics; 
using System.Linq; 

public class Program 
{ 
    public static void Main() 
    { 
     decimal[] values = new[] { 39.99m, 29.99m, 19.99m, 49.99m }; 
     Tuple<double, double> meanStd = values 
      .Select(x => (double)x) 
      .MeanStandardDeviation(); 

     double mean = meanStd.Item1; 
     double std = meanStd.Item2; 

     Console.WriteLine("Mean = " + mean); 
     Console.WriteLine("Std = " + std); 
    } 
} 

我必须使用MathNet库。

问题 -The输出我得到是双,但我需要小数。 我正在使用Convert.toDouble(标准)。我将使用一些数据?我如何避免这种情况。 是否可以使用MathNet获取十进制输出。

谢谢 P.S.这是简单的代码,我使用MathNet创建了大量的实用程序方法,所有方法都返回double。

+0

如果Math.NET处理双打,那么你不能得到它来处理小数。 –

+0

感谢您的评论。 MathNet图书馆根据我的知识处理双倍数据,所以我正在等待MathNet(来自麻省理工学院)lib的一些专家。 – vish1990

+0

这可能是相关的:http://stackoverflow.com/questions/1680907/why-is-system-math-and-for-example-mathnet-numerics-based-on-double – rbm

回答

0

如果没有处理小数的重载,那么你要么必须使用双打,找一些其他库,叉数学网,并改变它的作用或自己编写代码。你不能欺骗处理双精度的代码来处理小数 - 由上述评论中给出的专家建议。

+0

请写一个包含详细信息的问题 - 不要让人们阅读“上述评论”。答案必须是独立的。 – Enigmativity

+0

其实我不想拿信用。它是我的问题,但我在评论中得到了答案,所以我要求阅读评论。 Appologies.made更改 – vish1990