Wczytywaniem danych z Textboxa do tablicy

0
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 Restauracja
{
    public partial class Form1 : Form
    {
        const double Schabowy = 15.00;
        const double Pyzy = 10;
        const double Spaghetti = 18;
        const double Pierogi = 10;
        const double Rybapogrecku = 25;
        const double Krewetki = 40.75;
        const double Lasagne = 18.50;
        const double Salatka = 8.2;
        const double Marchewka = 5.1;
        const double Kapusta = 4.9;
        const double Ogorki = 2.5;
        const double Smoothie = 10.5;
        const double Cola = 5;
        const double Sprite = 5.55;
        const double Woda = 1.5;
        double Reszta;
        double Razem;
        public Form1()
        {
            InitializeComponent();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            Console.WriteLine("ZAMYKAM SYSTEM");
            Application.Exit();

        }
        private void Czyszczenie1()
        {
            Action<Control.ControlCollection> funkcja = null;
            funkcja = (Controls) =>
            {
                foreach (Control control in Controls)
                {
                    if (control is TextBox) (control as TextBox).Clear();
                    else
                    {
                        funkcja(control.Controls);
                    }

                }
            };
            funkcja(Controls);
            }
        private void Czyszczenie2()
        {
            Action<Control.ControlCollection> funkcja = null;
            funkcja = (Controls) =>
            {
                foreach (Control control in Controls)
                {
                    if (control is CheckBox) (control as CheckBox).Checked = false;
                    else
                    {
                        funkcja(control.Controls);
                    }

                }
            };
            funkcja(Controls);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Czyszczenie1();
            Czyszczenie2();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            comboBox1.Items.Add("Gotowka");
            comboBox1.Items.Add("Karta");

        }

        private void button1_Click(object sender, EventArgs e)
        {
            double[] razem = new double[15];
            razem[0] = Convert.ToDouble(textBox1.Text)* Schabowy;
            razem[1] = Convert.ToDouble(textBox2.Text) * Pyzy;
            razem[2] = Convert.ToDouble(textBox3.Text) * Spaghetti;
            razem[3] = Convert.ToDouble(textBox4.Text) * Pierogi;
            razem[4] = Convert.ToDouble(textBox5.Text) * Rybapogrecku;
            razem[5] = Convert.ToDouble(textBox7.Text) * Krewetki;
            razem[6] = Convert.ToDouble(textBox8.Text) * Lasagne;
            razem[7] = Convert.ToDouble(textBox9.Text) * Salatka;
            razem[8] = Convert.ToDouble(textBox10.Text) * Marchewka;
            razem[9] = Convert.ToDouble(textBox11.Text) * Kapusta;
            razem[10] = Convert.ToDouble(textBox12.Text) * Ogorki;
            razem[11] = Convert.ToDouble(textBox13.Text) * Smoothie;
            razem[12] = Convert.ToDouble(textBox14.Text) * Cola;
            razem[13] = Convert.ToDouble(textBox15.Text) * Sprite;
            razem[14] = Convert.ToDouble(textBox16.Text) * Woda;

            for(int i=0;i<15;i++)
            {
                Razem += razem[i];
            }

        }

        private void textBox19_TextChanged(object sender, EventArgs e)
        {
            Console.WriteLine(Razem);
        }
    }

}
0

Mam problem z wczytywaniem z Textboxa do tablicy ;( Wyskakuje błąd, że jest niewłaściwy format.
Będę wdzięczny za pomoc ;)

1

Dla Convert.ToDouble() nie jest to samo gdy masz zapis w postaci 2.55 a zapis 2,55 masz kilka opcji:

textBox12.Text.Replace(',','.');
double.Parse(textBox12.Text, CultureInfo.InvariantCulture);

W panelu sterowania systemu zmieniasz domyśle symbol dzisiętny

0

Dziękuję za pomoc ;) kurcze dalej za bardzo nie wiem jak to zastosować.....W tekście, który podałeś wywala błąd ;(

2
Biały Programista napisał(a):

Dziękuję za pomoc ;) kurcze dalej za bardzo nie wiem jak to zastosować.....W tekście, który podałeś wywala błąd ;(

Dodaj

using System.Globalization;

I przerób te liczenie na to:

razem[0] = Convert.ToDouble(textBox1.Text, CultureInfo.InvariantCulture) * Schabowy;
razem[1] = Convert.ToDouble(textBox2.Text, CultureInfo.InvariantCulture) * Pyzy;
itd....
0

Dziękuję bardzo

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0