Ottenere il numero di posizioni decimali di qualsiasi numero (non solo le virgolette) bypassando Digits() in MQL4 e MQL5 - pagina 5
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Hai bisogno di uno
in modo che
il risultato è stato: 4
Esattamente quattro? Facciamolo.
Forse questa è esattamente la funzione di cui avete bisogno. Ha risposto al TC
Ha bisogno proprio di una funzione del genere, perché (come hai notato correttamente) non tutti i numeri possono essere rappresentati esattamente come doppi, il che significa che risolvere il problema senza specificare la precisione non ha senso (perché nel caso generale porta a risultati assurdi).
Ha bisogno esattamente di questo, perché (come hai giustamente notato) non tutti i numeri possono essere rappresentati accuratamente come un doppio, il che significa che risolvere il problema senza specificare la precisione non ha senso (perché in generale porta a risultati assurdi).
Quali sono le opzioni per specificare la precisione senza cambiare il numero di cifre decimali, o come posso eliminare lo svantaggio che ho descritto nella mia versione? Per me ho trovato solo il valore (stringa)
Quali sono le opzioni per specificare la precisione senza cambiare il numero di cifre decimali, o come posso eliminare lo svantaggio che ho descritto nella mia versione? Per me ho trovato solo il valore (stringa)
Immagino che tu voglia dire entro quali limiti cercare l'ultimo non-zero.
provato a fare un calcolo del numero di cifre dopo il punto decimale attraverso MathMod() con un divisore consecutivo 0.1 , poi 0.01 ... 0.000(15 zeri) 1, non ha funzionato, la precisione del numero continua a "galleggiare" bisogno di normalizzare ogni volta, e se si utilizza la normalizzazione, allora è più facile confrontare il numero desiderato e normalizzato a quale segno - se diverso, poi trovato l'ultimo segno
HH: c'è un'altra opzione, non ha avuto il tempo di controllare - moltiplicare un numero reale senza una parte intera di 10 ^ 16 e salvare il tutto in lungo, e poi dividere per 10 e controllare il resto della divisione, se = 0, poi ancora dividere
ZS: c'è un'altra opzione, non ho avuto tempo di controllare - moltiplicare un numero reale senza una parte intera per 10^16 e salvare il tutto in lungo, e poi dividere per 10 e controllare il resto della divisione, se = 0, allora dividere di nuovo
Non funzionerà.
Usa ildoppioPoint()
Anche testato, niente da fare.
Questo è tutto.
Dà questo risultato
Anche testato, non funziona.