Setprecisionin käyttäminen C++:ssa

Setprecisionin Kayttaminen C Ssa



Olet ehkä oppinut ja opiskellut liukulukuarvoja ja tieteellistä merkintää matematiikassa ja fysiikassa. Olet ehkä myös oppinut pyöristämään liukulukuja. Setprecision-apuohjelmaa C++:ssa käytetään usein muuttamaan liukulukukokonaislukutulosjonon sisällä näytettävää numerosarjaa. Se toimii samalla tavalla kuin pyöristystoiminto. Tämä menetelmä on määritetty vakiokirjastossa. Tässä opetusohjelmassa näytämme, kuinka voit käyttää C++:n 'setprecision' -toimintoa. Joten aloitetaan. Meidän on käynnistettävä Ubuntu-kuorisovellus 'Ctrl + Alt + T' -toiminnolla, jotta voimme käsitellä sitä. Meidän on alustettava C++-kääntäjän asennus, joka on meidän tapauksessamme g++. Joten apt-pakettia käytetään tähän tarkoitukseen toistaiseksi. Järjestelmä asentaa g++:n muutamassa sekunnissa: $ sudo apt Asentaa g++

Esimerkki 01:

Olemme siis avanneet 'new.cc'-tiedoston 'nano'-ohjeella. Tämä tiedosto luodaan käyttämällä kuoren 'touch'-kyselyä. Tiedosto käynnistetään nyt nanoeditorissa tyhjänä tiedostona. Olemme lisänneet input-output 'iostream'-otsikkotiedoston yläosaan. 'Iomanip'-kirjasto on lisätty käyttämään koodimme setprecision()-menetelmää. Tämän jälkeen käytimme standardinimiavaruutta 'std' varmistaaksemme, että käytämme standardia koodia ja syntaksia. Kokonaiskoodi on suoritettu C++-koodin main()-funktiossa. Mitään muuta käyttäjän määrittämää toimintoa ei käytetä tähän tarkoitukseen.







Main()-funktiossa olemme alustaneet kaksoistyyppisen muuttujan “v”, jolla on kaksoisarvo. Ensimmäinen 'cout'-standardilause näyttää todellisen kaksoismuuttujan arvon 'v' kuoressa ilman päivitystä. Tämän jälkeen olemme käyttäneet 8 cout-lausetta käyttääksemme setprecision()-menetelmää kussakin. Tämä koskee setprecision()-funktiota 'v'-muuttujan jokaisessa liukulukussa joka kerta. Sinun on ymmärrettävä, että asetustarkkuus toimii vain arvolle, joka on suurempi tai yhtä suuri kuin 5. Jos liukulukuarvo on suurempi kuin 5, se lisää sitä edeltävää arvoa.



Esimerkiksi setprecision() 1. liukulukussa pyöristää '5' pisteen jälkeen, ja arvo '4' muunnetaan 5:ksi. Vastaavasti 2. liukulukuarvoa '2' ei voida pyöristää. 3. liukulukuarvo '7' muuntaa arvon '2' arvoksi '3', 4. liukulukuarvoa '4' ei voida pyöristää, ja 5. liukulukuarvo '9' muuntaa arvon '4' ”5 ennen sitä. Kohdassa '0' muuntaa arvon '4' 5:ksi. Negatiivinen setprecision() ei tee mitään, vaan näyttää koko todellisen arvon. Kaikki arvot liukulukuissa 0-5 ja -1, -2 näytetään setprecision():







On aika kääntää ja ajaa setprecision C++ -koodi g++-käännöskyselyllä ja './a.out'-suorituskyselyllä. Tulos näyttää, että ensimmäinen setprecision(1) muuntaa 4:stä 5:ksi. Setprecision(2) ei tehnyt mitään ja näyttää '4.5'. Asetustarkkuus(3) lisäsi arvoa arvosta '4,52' arvoon '4,53'. Setprecision(4) ei tee mitään arvolle '4.527'. Asetustarkkuus(5) kasvattaa arvoa arvosta '4,5274' arvoon '4,5275'. Setprecision(0) lisäsi arvon 5:een. Setprecision(-1) ja setprecision(-2) eivät tehneet mitään, kuten alla on esitetty:

$ g++ uusi.cc

$. / a.out



Esimerkki 02:

Katsotaanpa toista tapausta. Koodi on samanlainen kuin yllä oleva esimerkki, vain sen cout-lausekkeissa on muutos. Ensimmäinen cout näyttää alkuperäiset arvot, kun taas seuraavat kaksi näyttävät setprecision()-tuloksen liukulukuissa 1 ja 5. Viimeinen cout näyttää setprecision()-menetelmän tuloksen liukulukussa 9, joka ei ole fyysisesti käytettävissä. 1 ja 5 liukulukutulokset ovat melko odotettavissa, mutta emme voi sanoa mitään liukulukusta 9. Suoritetaan vain tiedosto ja tarkistetaan, mikä on tämän koodin tulos:

#include

#include

käyttämällä nimiavaruus std ;

int pää ( ) {

kaksinkertainen sisään = 4,52749 ;

cout << 'Arvo ennen tarkkuuden asetusta:' << sisään << ' \n ' ;

cout << asettaa tarkkuus ( 1 ) << 'Val at 1:' << sisään << ' \n ' ;

cout << asettaa tarkkuus ( 5 ) << 'Val at 5:' << sisään << ' \n ' ;

cout << asettaa tarkkuus ( 9 ) << 'Val at 9:' << sisään << ' \n ' ;

palata 0 ;

}

Tämän koodin kääntämisen ja suorittamisen jälkeen meillä on ilmeiset tulokset paikoissa 1 ja 3, joiden liukulukuarvo on '4.52749'. Asetuksen tarkkuuden 9 tulos näyttää kaksoismuuttujan “v” todellisen arvon. Tämä voi johtua siitä, että sijainnin 9 arvo ei ole kiinteä:

$ g++ uusi.cc

$. / a.out

Päivitetään vain koodi uudelleen muuttujan 'v' arvojen korjaamiseksi. Joten muuttujan ensimmäisessä paikassa käytetyn ensimmäisen setprecision() cout -käskyn jälkeen olemme käyttäneet kiinteää muuttujaa coutissa:

#include

#include

käyttämällä nimiavaruus std ;

int pää ( ) {

kaksinkertainen sisään = 4,52749 ;

cout << 'Arvo ennen tarkkuuden asetusta:' << sisään << ' \n ' ;

cout << asettaa tarkkuus ( 1 ) << 'Val at 1:' << sisään << ' \n ' ;

cout << korjattu ;

cout << asettaa tarkkuus ( 5 ) << 'Val at 5:' << sisään << ' \n ' ;

cout << asettaa tarkkuus ( 9 ) << 'Val at 9:' << sisään << ' \n ' ;

palata 0 ;

}

Tämän päivitetyn koodin kääntämisen ja suorittamisen jälkeen meillä on kiinteä tulos setprecisionista muuttujan 'v' sijainnissa 9, eli 4.527490000:

$ g++ uusi.cc

$. / a.out

Johtopäätös:

Lopuksi tässä oli kyse setprecision()-menetelmän käytöstä C++-koodissa pyöristämään ja näyttämään kaksoismuuttujan arvo. Olemme myös selostaneet koodissa olevat kiinteät muuttujat ja niiden edut. Lisäksi olemme ottaneet käyttöön kaksi tärkeää esimerkkiä selittääksemme joukon tarkkuuden käsitteen C++:ssa. Toivomme, että tästä artikkelista oli apua. Tutustu muihin Linux Hint -artikkeleihin saadaksesi lisää vinkkejä ja opetusohjelmia.