从我之前的问题做笔记,我创建了几个返回double的函数。
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库。
问题 - 我得到的输出是双倍但我需要十进制。 我正在使用Convert.toDouble(std)。我会使用一些数据吗?我怎么能避免这种情况。 是否可以使用MathNet获得十进制输出。
由于 附: - 这是一个简单的代码,我使用MathNet创建了许多实用程序方法,所有方法都返回double。
答案 0 :(得分:0)
如果没有处理小数的重载,那么你要么必须使用双打,找到一些其他库,fork mathnet并改变它的作用或自己编写代码。你不能欺骗处理双打的代码来处理小数 - 通过上面评论中给出的专家建议。