» Utilizator
Salut, vizitatorule!

SkullBox este o comunitate formata din programatori si administratori de sisteme sau retele care iti sta la dispozitie cand ai o problema legata de calculatoare. Daca esti un utilizator existent, autentifica-te.

Daca nu te-ai inregistrat inca pe forum, alatura-te noua astfel marind comunitatea si ajutandu-i pe cei care au nevoie de informatii.

Daca te-ai inregistrat dar inca nu ai primit codul de activare, il poti cere aici.




Autentifica-te cu numele de utilizator si parola pentru a putea posta pe forum sau pentru a accesa ariile disponibile doar utilizatorilor inregistrati.
» Promovam
» Parteneri » Statistici
  • 59641 de mesaje.
  • 7137 de topicuri.
  • 995 de utilizatori.
  •  
  • biggybillly e ultimul utilizator inregistrat.
[Detalii]

 
SkullBox Forum  |  Development  |  Delphi & Pascal (Moderator: AdyX)  |  Topic: round error
Pagini: [1]
Print
round error [1027 afisari]
Y2K
*


Mesaje: 214
OfflineOffline

WWW

In delphi 7 incerc sa fac un programel care sa calculeaze ceva chestie ... Ca sa aflu rezutlatu real trebuie sa rotunjesc... in pascal era cu round() dar aicea nu reusesc am asa :
Code:
cas:=a*0.095;
round(cas);

la compilare imi zice :
Quote
[Error] Unit1.pas(58): Statement expected, but expression of type 'Int64' found

stie cineva cum sa fac sa imi dea bine ? Big grin


Pace Peace sign
Logged
12-01-2009, 09:53 Twitt ::
emi
*


Mesaje: 1560
OfflineOffline


cas e de tip Int64 ?

Code:
cas := round( a * 0.095 );
Logged
12-01-2009, 09:56 Twitt ::
Y2K
*


Mesaje: 214
OfflineOffline

WWW

^ merge Love struck merci mult Big grin dau o bere Smile

iar daca imi explici ce inseamna Int64 iti dau si 1 vin Big grin


ah si inca o intrebare ... da nu stiu prea bine cum sa ma exprim ...

sa zicem ca programu imi calculeaza XYZ = -12

cum fac eu sa nu il lase adica daca XYZ <0 sa preaia automat val. de 0


ceva de genu : if XYZ < 0 then XYZ:=0 ...
Logged
12-01-2009, 09:58 Twitt ::
emi
*


Mesaje: 1560
OfflineOffline


Int64 este un numar intreg pe 64 de biti.

Tipuri de date:

byte : numar natural pe 8 biti,  0..255 = 2^8 -1;
word : numar natural pe 16 biti, 0..2^16-1;
dword, doubleword : numar natural pe 32 de biti, 0..2^32-1;
longint: numar INTREG pe 32 de biti: -2^31 .. 0 .. 2^31;
Int64: numar intreg be 64 de biti: -2^63 .. 0 .. 2^63;

acuma faci cinste  Laughing
Logged
12-01-2009, 10:06 Twitt ::
Y2K
*


Mesaje: 214
OfflineOffline

WWW

Bun, ce bere preferi ? la vin lacrima lui ovi e oke ?

in vacanta si asa merg prin mai multe orase prin tara ... tu pe unde esti ? sa trec pe la tine sa iti las 'marfa'
Logged
12-01-2009, 10:16 Twitt ::
DarkByte
*


Mesaje: 3333
OfflineOffline

WWW

^^^ Faci exact cum ai spus.

Code:
rezultat := X * Y * Z;
if rezultat < 0 then rezultat := 0;

^^ Ai uitat de integer : - 2^15 .. 2^15 - 1 (in pascal) sau este egal cu longint, in delphi.
Logged

Document my code? Why do you think it's called "code"?

To think is to differ - Clarence Darrow
12-01-2009, 10:18 Twitt ::
emi
*


Mesaje: 1560
OfflineOffline


^^ mai si glumim pe aici, nu o lua in serios.

Quote
sa zicem ca programu imi calculeaza XYZ = -12
cum fac eu sa nu il lase adica daca XYZ <0 sa preaia automat val. de 0
ceva de genu : if XYZ < 0 then XYZ:=0 ...
mai bine dai un exemplu de cod real.
Logged
12-01-2009, 10:20 Twitt ::
Y2K
*


Mesaje: 214
OfflineOffline

WWW

^ am rezolvat cum am zis in topicu ala Big grin eu acuma incer sa fac 1 programel care calculeaza salarul net din brut ... am incercat si acum ceva timp sa il fac dar mam enervat ca nu reuseam cu cu ceva prostie Big grin 
Code:

aici calculeaza impozitul pentru 4 sau mai multe persoane in intretinere .... si soramea cum e contabilia mi-a explicat ca impozitul nu poate sa fie negativ ... da am reusit Big grin

daca mai am ceva intrebari legate o sa pun aicea Smile daca nu ne vedem cand il termin Big grin

p.s.: eu nu glumeam cu berea si vinu Big grin
Logged
12-01-2009, 10:28 Twitt ::
Y2K
*


Mesaje: 214
OfflineOffline

WWW

* Big grin iar ceva de rotunit si chiar nu reuesc Straight face sa rotunjesc zecimlele ....

exemple : 10,9 - 10
              13.2 - 10
              15.5 - 20


Big grin se poate asa ceva ? ;;D
Logged
13-01-2009, 08:31 Twitt ::
DarkByte
*


Mesaje: 3333
OfflineOffline

WWW

Quote
exemple : 10,9 - 10
       13.2 - 10
       15.5 - 20

De putut se poate, dar nu cu functii standard de Delphi. Round (vezi exemplele din stanga sus) stie doar de zecimale. Daca vrei tu neaparat, fa-ti o functie care sa considere unitatea ca fiind 10, iar in rest sa functioneze ca si Round Winking

Alta solutie ar fi sa imparti numerele tale la 10, sa le dai Round si sa le inmultesti din nou cu 10.
Logged

Document my code? Why do you think it's called "code"?

To think is to differ - Clarence Darrow
13-01-2009, 08:40 Twitt ::
Y2K
*


Mesaje: 214
OfflineOffline

WWW

^ MERGE Smile  o sa folosesc GAGA / 10  ... 
ce faci in weekand ?Smile unde bem 1 suc ?Smile


Logged
13-01-2009, 08:51 Twitt ::
DarkByte
*


Mesaje: 3333
OfflineOffline

WWW

Ma bucur Winking

In Arad, daca vii : p
Logged

Document my code? Why do you think it's called "code"?

To think is to differ - Clarence Darrow
13-01-2009, 08:57 Twitt ::
Reclama
VIP

Hosting

Mesaje: 25.90
OnlineOnline

WWW
 

   Pe ABCDomenii: 250MB spatiu + 20GB trafic + 5 subdomenii = 0.95 €
 
 

The problem with troubleshooting is that trouble shoots back.
Azi 
Pages: [1]
Print
SkullBox Forum  |  Development  |  Delphi & Pascal (Moderator: AdyX)  |  Topic: round error
Jump to: