Helppo kysymys

Iltaa!
Kokeilin aloitella Borlandin C 5:llä ohjelmointia ja konsoliohjelmissa esim. eräänlaisen laskimen ohjelmointi onnistuu jo helposti. Mutta miksi graafisella puolen en saa näkymään desimaaleja?
Olenko antanut väärän tietotyypin jossain kohdin tai jotain muuta yhtä vänkää..:). Graafista puolta en todellakaan ole harrastanut, eli jos jollakulla olisi hyviä linkkejä varsinkin Borlandia/Inpriseä varten ko. aiheeseen liittyen, kaikki olisi tervetullutta...

Esim. seuraava pätkä:

//---------------------------------------------------------------------------
void __fastcall TFormPlaskin::ButtonLaskeClick(TObject *Sender)
{
EditLukuMin->Text = FloatToStr(StrToFloat((EditTulos->Text*1.0018 16.8)/0.9982));
}
//---------------------------------------------------------------------------
antaa tulokseksi vain kokonaislukuja, kun konsolipuolella saan tuloksen neljän desimaalin tarkkuudella.

Kiitoksia vastauksista!
7614
Äänestä

Muut lukivat myös

Vastaukset 7

Vanhimmat

on suomi-asetus päällä jolloin desimaalipiste on oletuksena pilkku?

Äänestä
  • Kokeilen minkä vaikutuksen tekee maa-asetuksen muutos. Kiitos vinkistä!

    Äänestä

  • c-koodissa maa-asetuksilla ei ole mitään merkitystä desimaalipilkkuun.

    EditTulos->Text on tyypiltään AnsiString, joten sinun pitää tehdä sille muutos EditTulos->Text.ToDouble()

    Äänestä

  • coder kirjoitti:

    c-koodissa maa-asetuksilla ei ole mitään merkitystä desimaalipilkkuun.

    EditTulos->Text on tyypiltään AnsiString, joten sinun pitää tehdä sille muutos EditTulos->Text.ToDouble()

    Tai sitten auttaisi myös se, että laitat sulut oikein..

    EditLukuMin->Text = FloatToStr((StrToFloat(EditTulos->Text)*1.0018 16.8)/0.9982);

    Äänestä

  • coder kirjoitti:

    c-koodissa maa-asetuksilla ei ole mitään merkitystä desimaalipilkkuun.

    EditTulos->Text on tyypiltään AnsiString, joten sinun pitää tehdä sille muutos EditTulos->Text.ToDouble()

    Kiitoksia vinkistä, kokeilen sitä heti huomenna!
    Olisiko Sinulla muuten jotain hyvää oppikirjaa tiedossa graafisen ohjelmoinnin alkeisiin C :n tiimoilta. Tarkoitan samantyyppistä kuin konsolipuolelle on esim. Lundahl & Vaaran "Ohjelmointi C, C ", joka lähtee siis ruohonjuuritasolta..

    Hyvää viikonloppua!

    t: aloittelija1

    Äänestä

  • aloittelija1 kirjoitti:

    Kiitoksia vinkistä, kokeilen sitä heti huomenna!
    Olisiko Sinulla muuten jotain hyvää oppikirjaa tiedossa graafisen ohjelmoinnin alkeisiin C :n tiimoilta. Tarkoitan samantyyppistä kuin konsolipuolelle on esim. Lundahl & Vaaran "Ohjelmointi C, C ", joka lähtee siis ruohonjuuritasolta..

    Hyvää viikonloppua!

    t: aloittelija1

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    EditLukuMin->Text = (EditTulos->Text.ToDouble()*1.0018 16.8)/0.9982;

    }

    Äänestä

  • Builder kirjoitti:

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    EditLukuMin->Text = (EditTulos->Text.ToDouble()*1.0018 16.8)/0.9982;

    }

    Kiitoksia..kokeilen tuotakin.

    Äänestä

Kommentoi aloitusta


Aloittelija1 kirjoitti:

Iltaa!
Kokeilin aloitella Borlandin C 5:llä ohjelmointia ja konsoliohjelmissa esim. eräänlaisen laskimen ohjelmointi onnistuu jo helposti. Mutta miksi graafisella puolen en saa näkymään desimaaleja?
Olenko antanut väärän tietotyypin jossain kohdin tai jotain muuta yhtä vänkää..:). Graafista puolta en todellakaan ole harrastanut, eli jos jollakulla olisi hyviä linkkejä varsinkin Borlandia/Inpriseä varten ko. aiheeseen liittyen, kaikki olisi tervetullutta...

Esim. seuraava pätkä:

//---------------------------------------------------------------------------
void __fastcall TFormPlaskin::ButtonLaskeClick(TObject *Sender)
{
EditLukuMin->Text = FloatToStr(StrToFloat((EditTulos->Text*1.0018 16.8)/0.9982));
}
//---------------------------------------------------------------------------
antaa tulokseksi vain kokonaislukuja, kun konsolipuolella saan tuloksen neljän desimaalin tarkkuudella.

Kiitoksia vastauksista!

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu