ďťż

Ładny brzuch

           double y1=1.0004;            double y2=-0.1190;            double y3=1.5987;            double y4=0.2115;            double y5=-0.6567;            double y6=-0.3514;            double y7=-1.6824;            double pi=3.1415926;            double L=3.5;            double a2=((1/L) * ((y1*cos((pi*2*0)/L))+(y2*cos((pi*2*1)/L))+(y3*cos( (pi*2*2)/L))+(y4*cos((pi*2*3)/L))+(y5*cos((pi*2*4) /L))+(y6*cos((pi*2*5)/L))+(y7*cos((pi*2*6)/L)) ));

program zwraca wartość a2=-3,05041106365828E-5

jak pozbyc sie E z wyniku.. ??



Zaokrąglić ?

WARTOSC_LICZBY E liczba = WARTOSC_LICZBY*10^liczba (^ - to jest znaczek potęgowania)

W twoim przypadku oznacza to: -3,05041106365828 * 10^-5 = -3,05041106365828 * 0,00001 = -0,0000305041106365828
Użytkownik Ku.ririn edytował ten post 27 sierpień 2005, 11:32
ok a w jaki sposob mozna zaokraglic liczbe do 4 miejsc po przecinku?

tam zdaje sie uzywa sie

floor(liczba);
ceil(liczba);

tylko nie bardzo wiem jak konkretnie to ma wygladac.. które w dol które w gore.. i jak ta funkcje wkleic do mojego kodu... :unsure:

MSDN rządzi:

ceil: http://msdn.microsof...l/_crt_ceil.asp
floor: http://msdn.microsof.../_crt_floor.asp

Wymagany nagłówek: math.h

floor: zaokrągla w dół
ceil: w góre



#include <iostream> #include <string> #include <sstream> using namespace std; double StrToDouble(string s) {    return atof(s.c_str());     } string DoubleToStr(double d) {    stringstream ss;    ss << d;    return ss.str();       } double RoundDouble(double d, int licz) {    string s = DoubleToStr(d), s2;    int pom = 0;    bool b = false;      for(int i = 0; i < s.length(); i++) {        s2 += s[i];        if(b)        pom++;          if(pom==licz)        break;        if(s[i]=='.')        b = true;                  }    double result = StrToDouble(s2);        return result;                       } int main() {    double d = 10.1234;    cout << RoundDouble(d,2) << endl;      cin.get();         }

znalazłam nieco przyjemniejszy i łatwiejszy sposob... :)
Jesli wynik musi byc wpisywany na formularzu w jakies okienko edycyjne tak jak w moim przypadku mozna spokojnie zastosowac te metode :)

Edit1->Text = CurrToStrF(a0, ffFixed, 4);

wczesniej oczywiscie musi byc zadeklarowane a0 czy jakas tam inna zmienna a 4 w tym przypadku to liczba miejsc po przecinku do jakiej chcemy zmniejszyc lub zwiekszyc wynik..

dzieki za pomoc

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •