float

pyöristäminen

hei

Miten saan float-tyyppisen arvon määriteltyä siten,että se tulostuu 4 desimaalin tarkuudella ja pyöristetään oikein. Desimaalien tarkkuuden osaan, mut toi pyöristys.

4

1090

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • pyöriäinen

      Eikö toi pyöristä oikein (mulla ainakin):
      C:
      printf("%.4f\n", fluku);

      C :
      std::cout

    • c-burnout

      Tein pienen testin ja pyöristys ei tosiaan toiminut kunnolla (Visual Studio 6 kirjastot ja kääntäjä).

      printf("\n%f, %0.4f", (float)0.0000400, (float)0.0000400);
      printf("\n%f, %0.4f", (float)0.0000500, (float)0.0000500);
      printf("\n%f, %0.4f", (float)0.0000501, (float)0.0000501);
      printf("\n%f, %0.4f", (float)0.0000600, (float)0.0000600);

      Ja tulos oli:

      0.0000400, 0.0000
      0.0000500, 0.0000
      0.0000501, 0.0001
      0.0000600, 0.0001

      Elikkä tuo 0.0000500 ei pyöristynyt oikein ylöspäin. Outoa tosiaan?

      Toisaalta voit lisätä kaikkiin lukuihin tuon 0.000001 arvon jolloin pyöristys taas toimii.

      #define FIXFLOAT( x ) ((float)x 0.0000001)

      printf("%.4f", FIXFLOAT(0.00005));
      antaa nyt oikean vastauksen 0.0001

      • menee pieleen

        negatiiviset, huomasitko?


      • TRRY

        Pyöristys meni ihan oikein. Syy ongelmaasi on tässä:

        printf("\n%0.12f", (float)0.0000500);

        Eli annoit pyöristettäväksi luvun, joka on itse asiassa hieman pienempi kuin 0,00005. Floateilla ei pysty esittämään lukua 0,00005 eikä montaa muutakaan lukua tarkasti. Doublen käyttäminenkään ei ratkaise ongelmaa. Jos tarvitset tarkkoja tuloksia, laske kokonaisluvuilla.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Tulipalossa henkilövahinkoja, itsenäisyyspäivä alkoi huonosti, poliisi tiedottaa lisää

      Savonlinna https://www.como.fi/uutiset/savonlinna-henkilovahinkoja-tulipalossa-poliisi-tiedottaa-lisaa/
      Savonlinna
      176
      9650
    2. Ennen ei ollut persuja ja työttömyyttä, lääkäriinkin pääsi

      Ennen oli kaikilla töitä Kauppiaille kelpasi kun saivat voittoa Yritystukia ei ollut Lääkäriin pääsi kaikki haluklaat Nu
      Maailman menoa
      126
      4181
    3. Millaista läheisyyttä

      Toivoisit ikävästi kohteesi kanssa?
      Ikävä
      114
      3952
    4. Somali ei kätellyt Stubbia Linnan juhlissa

      Miksei somali osaa noudattaa hyviä käytöstapoja. https://www.iltalehti.fi/viihdeuutiset/a/563a3dea-fa3f-41f3-b64f-406d2
      Maailman menoa
      419
      3677
    5. 58
      3460
    6. Antifasismi - mitä se on?

      Se on äärivasemmistolaista anarkistista toimintaa joka käyttää fasisminvastaisuutta keppihevosena oikeuttaakseen toimint
      Maailman menoa
      44
      2758
    7. Kuka on menehtynyt?

      https://yle.fi/a/74-20198293 Kuulemani mukaan ryyppyporukka ollut hapualla ja kuolemanenkeli (F.G) eli mies jonka seuras
      Kankaanpää
      18
      2122
    8. Heräsin taas ikävään

      Ja aivan valtavaan haluun. Tahdon sinua R. ❤️
      Ikävä
      57
      1979
    9. Kauhea ikävä iski

      Mietin vain, mitä olet juuri nyt tekemässä. Mietin myös, välittyykö se sinulle, kun olet koko ajan mielessäni, tunnetko
      Ikävä
      20
      1571
    10. Kemijärven kapungin teknisen osaston johtajat

      KossuPekka ja KankaarannanMarkku olivat hyviä näissä tehtävissään. Tulevan vuodenvaihteen jälkeen tulee Kemijärvelle uu
      Kemijärvi
      10
      1391
    Aihe