Vai al contenuto

Arrotondare numeri dopo la virgola in uno script

Home Forum Terminali operatore (Weintek) Arrotondare numeri dopo la virgola in uno script

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Autore
    Post
  • #35913
    Luis
    Partecipante

    Ho fatto un dalalogger su un panello MT8050iE, funziona molto bene, soltanto i numeri in virgola mobile vengono molte cifre dopo la virgola esempio value 3.60000014305115 vorrei limitarlo a 3.6 o massimo 3.61.

    I dati li leggo da un inverter, esempio la frequenza viene ritornata in una word  ma moltiplicata x100 (15.5 hertz = 1550). Nella  visualizzazione non ci sono problemi, perchè posso impostare le cifre dopo la virgola,  ma sulla registrazione dei dati non trovo nessuna funzione per arrotondare i numeri. Allego la macro

    macro_command main()
    short hz[4]
    float b [4]
    GetDataEx(hz[0], “Siemens_plc”, MW, 328, 4)
    b[0] = hz[0] * 0.01
    b[1] = hz[1] * 0.01
    b[2] = hz[2] * 0.01
    b[3] = hz[3] * 0.01
    SetDataEx(b[0], “Local HMI”, LW, 0, 4)
    end macro_command

    #39289
    Sergio Bertana
    Amministratore del forum

    Credo che per limitare i numeri dopo la virgola tu intenda il valore che esporti in un file csv per poi importarlo in Excel. Purtroppo non c’è una funzione di round nelle macro ed i numeri float non hanno un numero prestabilito di decimali.

    Devi operare da Excel se vuoi limitare il numero di cifre decimali.

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Devi essere connesso per rispondere a questo topic.