Problema con cifre significative

di il
2 risposte

Problema con cifre significative

Salve a tutti, questo è il mio primo post sul forum, sono uno studente al terzo anno di ingegneria dell'automazione e più volte ho trovato la soluzione ai miei problemi nel forum ma, questa volta, non ci sono riuscito. Vi illustro il problema: devo trascrivere su un file json, una matrice di punti a tre colonne, che descrive una certa traiettoria. Per indentare correttamente ogni Array (che corrisponde ad un punto della traiettoria), utilizzo il comando jsonencode per ogni riga della matrice. Purtroppo capita spesso che i punti non abbiano cifre significative dopo la virgola e purtroppo quando avvio la simulazione della traiettoria, ottengo errore, cosa che non accade se i punti hanno almeno una cifra significativa. Vorrei che i punti della traiettoria avessero sempre una cifra significativa, anche se fosse 0. Ho provato tutti i formati del comando format, ma non ho ottenuto niente. Confido nel vostro aiuto.

2 Risposte

  • Re: Problema con cifre significative

    Quello che hai scritto NON HA SENSO:
    1) una cosa e' il numero di cifre significative usate per rappresentare il numero stesso all'interno di un file
    2) una cosa e' la FORMATTAZIONE di un file, che NON HA INFLUENZA sul numero di cifre significative.
    3) un'altra cosa ancora e' lo STANDARD usato per rappresentare dei dati. Uno e' JSON, un'altro potrebbe essere il CSV, l'XML, un banale file ASCII, ecc.

    In particolare, il fomato JSON non ha problemi di identazione. Viene usata SOLO per rendere il file LEGGIBILE da un essere umano, ma al parser JSON non interessa minimamente.

    QUINDI il problema e' da qualche altra parte.
    Un'ACCROCCHIO che puoi utilizzare e' quello di controllare se il numero ha PARTE FRAZIONARIA 0 e in questo caso aggiungere un piccolo errore, ad esempio 0.0000001. E' abbastanza piccolo da non influire suoi calcoli, ma abbastanza grande da far si che V e V+0.0000001 siano diversi

    RICODA che la rappresentazione dei numeri nei computer e' limitata, quindi NON E' DETTO, ad esempio, che V e V+0.000000000000000001 SIANO DIVERSI!
  • Re: Problema con cifre significative

    Grazie del suggerimento. Purtroppo il mio professore mi ha caldamente suggerito (imposto) di indentare il file json e devo necessariamente utilizzare la funzione jsonencode, che restituisce un char.
Devi accedere o registrarti per scrivere nel forum
2 risposte