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

1039

    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. Mitä siellä ABC on tapahtunut

      Tavallista isompi operaatio näkyy olevan kyseessä.
      Alajärvi
      179
      7443
    2. Klaukkalan onnettomuus 4.4

      Klaukkalassa oli tänään se kolmen nuoren naisen onnettomuus, onko kellään mitään tietoa mitä kävi tai ketä onnettomuudes
      Nurmijärvi
      87
      3306
    3. Kuvaile elämäsi naista

      Millainen hän on? Mikä tekee hänestä sinulle erityisen?
      Ikävä
      57
      2335
    4. Kolari Klaukkala

      Kaksi teinityttö kuoli. Vastaantulijoille ei käynyt mitenkään. Mikä auto ja malli telineillä oli entä se toinen auto? Se
      Nurmijärvi
      69
      1502
    5. Ukraina ja Zelenskyn ylläpitämä sota tuhoaa Euroopan, ei Venäjä

      Mutta tätä ei YLE eikä Helsingin Sanomat kerto.
      Maailman menoa
      370
      1438
    6. Kuvaile elämäsi miestä

      Millainen hän on? Mikä tekee hänestä sinulle erityisen?
      Ikävä
      57
      1353
    7. Ooo! Kaija Koo saa kesämökille öky-rempan:jättimäinen terde, poreallas... Katso ennen-jälkeen kuvat!

      Wow, nyt on Kaija Koon mökkipihalla kyllä iso muutos! Miltä näyttää, haluaisitko omalle mökillesi vaikkapa samanlaisen l
      Kesämökki
      20
      1326
    8. Toivoisin, että lähentyisit kanssani

      Tänään koin, että välillämme oli enemmän. Kummatkin katsoivat pidempään kuin tavallisesti toista silmiin. En tiedä mistä
      Ikävä
      17
      1071
    9. Olisinpa jo siellä, otatkohan minut vastaan

      Olisitpa lähelläni ja antaisit minun maalata sinulle kuvaa siitä kaikesta ikävästä, tuskasta, epävarmuudesta ja mieleni
      Ikävä
      79
      1030
    10. Kevyt on olo

      Tiedättekö, että olo kevenee kummasti, kun päästää turhista asioista tai ihmisistä irti! Tämä on hyvä näin <3
      Ikävä
      84
      1028
    Aihe