【问题标题】:Double to Decimal in MathNetMathNet 中的双倍到十进制
【发布时间】:2017-03-26 12:38:59
【问题描述】:

从我之前的问题中做笔记,我创建了几个返回双精度的函数。

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 创建许多实用方法,所有方法都返回双精度。

【问题讨论】:

  • 如果 Math.NET 处理双精度,那么你就不能让它处理小数。
  • 感谢您的评论。据我所知,MathNet 库处理 double,所以我正在等待一些 MathNet(来自 MIT)lib 方面的专家。
  • 这可能是相关的:stackoverflow.com/questions/1680907/…
  • 如果没有处理小数的重载,那么你要么必须使用双精度数,要么找到其他库,fork mathnet 并更改它的功能,或者自己编写代码。你不能欺骗处理双精度数的代码来处理小数。

标签: c# mathnet-numerics


【解决方案1】:

如果没有处理小数的重载,那么您要么必须使用双精度数,要么查找其他库、fork mathnet 并更改它的功能或自己编写代码。您不能欺骗处理双精度数的代码来处理小数 - 根据上述 cmets 中给出的专家建议。

【讨论】:

  • 请写一个包含详细信息的问题 - 不要要求人们阅读“以上 cmets”。答案必须是独立的。
  • 其实我不想拿信用。这是我的问题,但我在 cmets 中得到了答案,所以我要求阅读 cmets。 Appologies.made 改变
猜你喜欢
  • 2013-09-27
  • 1970-01-01
  • 2015-09-16
  • 1970-01-01
  • 2013-08-09
  • 1970-01-01
  • 2011-12-09
  • 1970-01-01
  • 2012-09-30
相关资源
最近更新 更多