Sto lavorando a uno script per controllare alcuni dati parametrici generati da un programma di test. La tabella che ho è per alcuni spettri laser che hanno un singolo SpectralPeak e picchi laterali sinistro e/o destro. Vorrei visualizzare i dati in JMP, quindi ho creato questo grafico:

Sono in grado di evidenziare il picco dagli spettri con una colonna che utilizza una semplice formula per popolare le righe solo in corrispondenza di SpectralPeakPower (ROSSO).
Se( :YValues == Col Max(:SpectralPeakPower, :LampWfr, :serial, :"LaserCurrent[mA]"n), :SpectralPeakPower)
Tuttavia, quando utilizzo lo stesso concetto per calcolare la potenza del picco del lato sinistro, l'affermazione di equivalenza fallisce e pertanto la potenza del picco del lato sinistro non viene inserita nella riga e NON viene evidenziata nel grafico.

Nel debug di questo problema, non sembra esserci una ragione logica per cui l'istruzione == non diventi 1...
(-46,81 == -46,81) = 1 giusto!?!?! Sto diventando un po' pazzo nel debug di questo...
Quali sono le altre possibili ragioni per cui == non è 1?
Ho anche altre istanze nel mio script in cui c'è un errore di arrotondamento e vorrei usare una funzione ~== approssimativamente equivalente. Esiste già una funzione del genere?
Posso condividere privatamente il file JMP con i membri dello staff affinché possano esaminarlo.
Grazie,
Potrebbe essere dovuto alla matematica in virgola mobile .
Show(0.1 + 0.2, 0.1 + 0.2 == 0.3);
//0.1 + 0.2 = 0.3;
//0.1 + 0.2 == 0.3 = 0;
Per arrotondare i valori puoi usare Round(), Floor() o Ceiling().