Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Pascal - Arrotondamento alla terza cifra decimale
Forum - Pascal - Arrotondamento alla terza cifra decimale

Avatar
Il_Bomba (Member)
Rookie


Messaggi: 33
Iscritto: 26/12/2010

Segnala al moderatore
Postato alle 20:50
Martedì, 11/01/2011
Ciao a tutti,

Sto cercando una funzione che arrotondi alla terza cifra decimale un numero (es. da 1,874653 a 1,875).
Ho provato ad usare Round, ma arrotonda il numero togliendo tutte le cifre decimali.
Anche cercando con  Google non ho trovato niente.

Qualcuno conosce una funzione (tipo Round) che arrotondi un numero alla cifra decimale che voglio io?

Grazie a chi risponderà :)

PM
Avatar
a_butta (Member)
Expert


Messaggi: 578
Iscritto: 16/03/2010

Up
3
Down
V
Segnala al moderatore
Postato alle 22:07
Martedì, 11/01/2011
Se vuoi una funzione preimpostata, devi usare la libreria Math:
Codice sorgente - presumibilmente Pascal

  1. uses SysUtils, Math;
  2. var
  3.   X: Double;
  4. begin
  5. X:= 1,874653;
  6. Writeln("Numero per intero: ",X);
  7. X:= Math.RoundTo(X,-3);
  8. Writeln("Numero approssimato: ",X);
  9. Readln;
  10. end;



Il numero delle cifre si esprime in questo modo: -n indica n cifre dopo la virgola.

Per una documentazione più approfondita
http://docs.embarcadero.com/products/rad_studio/delphiAndc ...

PM
Avatar
Alex (Ex-Member)
Expert


Messaggi: 441
Iscritto: 15/08/2005

Up
2
Down
V
Segnala al moderatore
Postato alle 21:18
Martedì, 11/01/2011
non so se questa funzione esiste...al limire puoi costruirtela te..
se il discorso ti serve solo per stampare la variabile usa writeln(x:10:2);

PM
Avatar
Il_Bomba (Member)
Rookie


Messaggi: 33
Iscritto: 26/12/2010

Up
1
Down
V
Segnala al moderatore
Postato alle 21:30
Martedì, 11/01/2011
Il problema è che dovrei salvare il numero arrotondato in una variabile, quindi writeln non mi serve. Mi servirebbe proprio una funzione simile a Round.:yup:

PM
Avatar
Il_Bomba (Member)
Rookie


Messaggi: 33
Iscritto: 26/12/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 22:11
Martedì, 11/01/2011
Testo quotato

Postato originariamente da a_butta:

Se vuoi una funzione preimpostata, devi usare la libreria Math:
Codice sorgente - presumibilmente Pascal

  1. uses SysUtils, Math;
  2. var
  3.   X: Double;
  4. begin
  5. X:= 1,874653;
  6. Writeln("Numero per intero: ",X);
  7. X:= Math.RoundTo(X,-3);
  8. Writeln("Numero approssimato: ",X);
  9. Readln;
  10. end;



Il numero delle cifre si esprime in questo modo: -n indica n cifre dopo la virgola.

Per una documentazione più approfondita
http://docs.embarcadero.com/products/rad_studio/delphiAndc ...



Grazie mille! Era proprio quello che mi serviva!:asd:

PM