Millä funktiolla saisi esim. Luvun 1.359 korjattua lukuun 1.36
Mikä kieli?
C++
Kun esitätte kysymyksiä, kertokaa jotain myös kehitysympäristöstänne, ja varsinkin kieli on _pakko_ mainita jos vastausta halajaa.
floor() (alaspäin pyöristäminen) ja ceil() funktioilla voisi onnistua. Jos haluat pyöristää kahteen desimaaliin niin toki voit kikkailla niin että kerrot luvun ensin sadalla, sitten pyöristät, ja sitten jaat sadalla ;)
C++ kirjassani luki että seuraava koodi tekisi sen.
#include <iomanip.h> //jonka muunsin <iomanip>:ista että se toimisi VC++:ssa
...
cout << setprecision(2) << fixed;
...
Kääntäjältä tuli virheilmoitus että sanaa fixed ei tunneta tai jotain, vaikka kirjassa luki että se tulee iostreamin mukana, ja olihan minulla sekin käytössä.
Jos voisit kirjoittaa pienen esimerkin tuon floor() ja/tai ceil():in käytöstä.
cout << setprecision(2) << fixed;
Mitä järkeä tuossa lauseessa on? Ethän edes anna sen muuttujan nimeä.
Koeta tunkea tuon fixedin tilalle muuttujan nimi tj ;)
Floor ja Ceil:
/* FLOOR.C: This example displays the largest integers * less than or equal to the floating-point values 2.8 * and -2.8. It then shows the smallest integers greater * than or equal to 2.8 and -2.8. */ #include <math.h> #include <stdio.h> void main( void ) { double y; y = floor( 2.8 ); printf( "The floor of 2.8 is %f\n", y ); y = floor( -2.8 ); printf( "The floor of -2.8 is %f\n", y ); y = ceil( 2.8 ); printf( "The ceil of 2.8 is %f\n", y ); y = ceil( -2.8 ); printf( "The ceil of -2.8 is %f\n", y ); }
Output
The floor of 2.8 is 2.000000
The floor of -2.8 is -3.000000
The ceil of 2.8 is 3.000000
The ceil of -2.8 is -2.000000
Kiitos Antti!
Aihe on jo aika vanha, joten et voi enää vastata siihen.