0

こんにちは私はmirosoftVisualStudioを初めて使用します。基本的な円を作成したいのですが、次のエラーが発生します。タイプ'double'を暗黙的にintに変換できません。明示的な変換が存在します。(キャストが足りませんか?)

 using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace WindowsFormsApplication6
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            private void button1_Click(object sender, EventArgs e)
            {


                int radius = Convert.ToInt32(textBox1.Text);

                int circumference = 2 * Math.PI * radius;
                int area = Math.PI * Math.Pow(radius, 2);
                int volume = (4 * Math.PI / 3) * Math.Pow(radius, 3);

                Graphics paper;
                paper = pictureBox1.CreateGraphics();
                Pen pen = new Pen(Color.Red);

                paper.DrawEllipse(pen, 0, circumference, area, volume);
            }
        }
    }
4

2 に答える 2

1
int straal = Convert.ToInt32(textBox1.Text);
double omtrek = 2 * Math.PI * straal;
        double oppervlakte = Math.PI * Math.Pow(straal, 2);
        double volume = (4 * Math.PI / 3) * Math.Pow(straal, 3);

        Graphics paper;
        paper = pictureBox1.CreateGraphics();
        Pen pen = new Pen(Color.Red);

        paper.DrawEllipse(pen, 0, Convert.ToInt32(omtrek), Convert.ToInt32(oppervlakte),   Convert.ToInt32(volume));
于 2012-10-01T16:08:01.017 に答える
0

doubleをintにキャストする場合は、次のような括弧を使用します。

double myDouble = 3.211;
int myInt = (int)myDouble;

あなたの文脈では:

            int circumference = (int)(2 * Math.PI * radius);
            int area = (int)(Math.PI * Math.Pow(radius, 2));
            int volume = (int)((4 * Math.PI / 3) * Math.Pow(radius, 3));
于 2012-10-01T16:00:05.737 に答える