2016-11-12 12 views
0

私の前の質問からメモを取って、私は二重に返す関数をほとんど作成しませんでした。MathNetの2倍から10倍へ

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ライブラリを使用する必要があります。

質問 - 出力は2倍ですが、私は10進数が必要です。 私はConvert.toDouble(std)を使用しています。私はいくつかのデータを使用しますか?これを避ける方法はありますか。 MathNetを使用して10進数の出力を得ることは可能ですか?

ありがとう P.S. - これは簡単なコードですが、私はMathNetを使用して数多くのユーティリティメソッドを作成しています。

+0

Math.NETが倍精度を扱う場合、小数点を扱うことはできません。 –

+0

ご意見ありがとうございます。 MathNetライブラリは私の知る限り倍増するので、MathNet(MITから)の専門家を待っています。 – vish1990

+0

関連性があります:http://stackoverflow.com/questions/1680907/why-is-system-math-and-for-example-mathnet-numerics-based-on-double – rbm

答えて

0

小数点以下を扱うオーバーロードがない場合は、倍精度を使用したり、他のライブラリを探したり、mathnetをフォークしたり、コードの内容を変更したり、コードを書き込んだりする必要があります。上のコメントに記載された専門家のアドバイスによって、小数点を扱うために倍数を扱うコードを欺くことはできません。

+0

詳細を含む質問を書いてください - "上記のコメント"を読むように人々に依頼しないでください。アンサーはスタンドアロンでなければなりません。 – Enigmativity

+0

実際に私は信用を得たくありません。私の質問ですが、私はコメントで答えを得たので、私はコメントを読むように頼んだ。 Appologies.made変更 – vish1990