简体   繁体   English

在C#中将十进制[]转换为双精度[]

[英]Conversion of decimal[ ] to double [ ] in c#

I am making plots in asp.net-mvc4 application using following code 我正在使用以下代码在asp.net-mvc4应用程序中进行绘图

System.Web.UI.DataVisualization.Charting.Chart chart = new System.Web.UI.DataVisualization.Charting.Chart();

        chart.BackColor = Color.Transparent;
        chart.Width = Unit.Pixel(700);
        chart.Height = Unit.Pixel(420);
        chart.BackColor = Color.FromArgb(211, 223, 240);
        chart.BorderlineDashStyle = ChartDashStyle.Solid;
        chart.BackSecondaryColor = Color.White;
        chart.BackGradientStyle = GradientStyle.TopBottom;
        chart.BorderlineWidth = 1;
        chart.Palette = ChartColorPalette.BrightPastel;
        chart.BorderlineColor = Color.FromArgb(26, 59, 105);
        chart.RenderType = RenderType.BinaryStreaming;
        chart.BorderSkin.SkinStyle = BorderSkinStyle.Emboss;
        chart.AntiAliasing = AntiAliasingStyles.All;
        chart.TextAntiAliasingQuality = TextAntiAliasingQuality.Normal;

        Series series1 = new Series("Series1");
        series1.ChartArea = "ca1";
        series1.ChartType = SeriesChartType.Line;
        series1.Font = new Font("Verdana", 8.25f, FontStyle.Regular);

        series1.Points.Add(new DataPoint
        {
            AxisLabel = "Value1",
            YValues = new double[] { 100 }
        });

        series1.Points.Add(new DataPoint
        {
            AxisLabel = "Value2",
            YValues = new double[] { 500 }
        });

        chart.Series.Add(series1);

        ChartArea ca1 = new ChartArea("ca1");
        ca1.BackColor = Color.Transparent;
        chart.ChartAreas.Add(ca1);

        using (var ms = new MemoryStream())
        {
            chart.SaveImage(ms, ChartImageFormat.Png);
            ms.Seek(0, SeekOrigin.Begin);

            return File(ms.ToArray(), "image/png", "mychart.png");
        }

Now I have my data points as an array from database saved in returnValue . 现在,我将数据点作为数据库中的数组保存在returnValue I added edited data point as below 我添加了如下编辑的数据点

series1.Points.Add(new DataPoint
        {
            AxisLabel = "Value1",
            YValues = new double[] {returnValue.yData}
        });

The error is 错误是

Conversion from decimal[] to double is not possible

Use Convert.ToDouble: 使用Convert.ToDouble:

series1.Points.Add(new DataPoint
{
    AxisLabel = "Value1",
    YValues = returnValue.yData.Select(Convert.ToDouble).ToArray()
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM