Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Hybrid View

  1. #1

    Delphi (XE) Valori numerici

    codice:
    procedure Tresc1.Button2Click(Sender: TObject);
    var
    X,Y,Z:INTEGER;
    S:STRING[10];
    nDouble: Double;
    begin
      VAL(lmm.text,X,Z);
      VAL(Materiale.Caption,Y,Z);
      nDouble := StrToFloatDef(smm.text, 0);
      nDouble := Y * (X / (nDouble * nDouble));
      STR(X,S);
      Label1.Caption := FormatFloat('#0.##', nDouble);
    end;
    end.
    con questo codice riesco ad ottenere solo risultati tipo 1,2 ma il codice effettua un calcolo di un valore più piccolo tipo 0,044 ma non riesco a ottenere tale valore mi da 0, come configuro questa riga?
    codice:
    Label1.Caption := FormatFloat('#0.##', nDouble);
    ho provato diverse varianti ma non sono riuscito a trovare la soluzione.

    La parola agli esperti.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Prevedi che anche X, Y siano variabili di tipo Double.

    E se devi vedere 3 decimali devi prevedere 3 cifre dopo la virgola nel formato
    Ultima modifica di oregon; 03-10-2013 a 15:23
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Prevedi che anche X, Y siano variabili di tipo Double.

    E se devi vedere 3 decimali devi prevedere 3 cifre dopo la virgola nel formato
    codice:
    Label1.Caption := FormatFloat('###0.###', nDouble);
    ho fatto cosi ma non va.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Come ti avevo già scritto


    "Prevedi che anche X, Y siano variabili di tipo Double."
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Come ti avevo già scritto


    "Prevedi che anche X, Y siano variabili di tipo Double."
    No ho cambiato cosi:
    codice:
    procedure Tresc1.Button2Click(Sender: TObject);
    var
    X:REAL;
    K,A,Y,Z:INTEGER;
    S:STRING[10];
    begin
      VAL(lmm.text,A,Z);
      VAL(Materiale.Caption,Y,Z);
      VAL(smm.text,K,Z);
      X:= (Y * (A / (K * K)));
      STR(X:10:2,S);
      Label1.Caption := S;
    end;
    ma nenche va bene.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma perché non vuoi seguire il consiglio che ti ho dato? Non lo capisco ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Ma perché non vuoi seguire il consiglio che ti ho dato? Non lo capisco ...
    Ma ho tolto il Double ho fatto cosi pensando che era questo il tuo suggerimento.

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quote Originariamente inviata da camaleonteplus Visualizza il messaggio
    Ma ho tolto il Double ho fatto cosi pensando che era questo il tuo suggerimento.
    Ti ho scritto "Prevedi che anche X, Y siano variabili di tipo Double."

    Da cosa capisci che ti consiglio di togliere il double?? Anzi, al contrario, ti consiglio di usarlo anche per X e Y !!
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Ti ho scritto "Prevedi che anche X, Y siano variabili di tipo Double."

    Da cosa capisci che ti consiglio di togliere il double?? Anzi, al contrario, ti consiglio di usarlo anche per X e Y !!
    Scusa ho capito male, come sostituisco la x e y con Double? Mi dai una mano?

  10. #10
    codice:
    procedure Tresc1.Button2Click(Sender: TObject);
    var
    X,Y,Z:INTEGER;
    S:STRING[10];
    nDouble, xDouble, yDouble: Double;
    begin
      nDouble := StrToFloatDef(smm.text, 0);
      xDouble := StrToFloatDef(lmm.text, 0);
      yDouble := StrToFloatDef(Materiale.Caption, 0);
      nDouble := yDouble * (xDouble / (nDouble * nDouble));
      STR(X,S);
      Label1.Caption := FormatFloat('#0.##', nDouble);
    end;
    Ecco adesso funziona grazie.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.