Ho letto in diversi post su stackoverflow e nella documentazione C#, che la conversione di long
(o qualsiasi altro tipo di dati che rappresenta un numero) su double
perde precisione. Questo è abbastanza ovvio a causa della rappresentazione di numeri in virgola mobile.Quanto è grande la conversione della perdita di precisione da lunga a doppia?
La mia domanda è: quanto è grande la perdita di precisione se converto un numero maggiore in double
? Devo aspettarmi differenze maggiori di +/- X?
La ragione per cui vorrei sapere questo, è che devo occuparmi di un contatore continuo che è un long
. Questo valore viene letto dalla mia domanda come string
, deve essere lanciato e deve essere diviso per es. 10 o qualche altro piccolo numero e viene quindi elaborato ulteriormente.
Sarebbe più appropriato per questa attività decimal
?
Beh 'decimale' potrebbe certamente mantenere tutte le informazioni in un' lungo' ... ma non è davvero chiaro quali siano le vostre esigenze siamo. –
@JonSkeet in realtà nessuno, so come risolverlo con i decimali, ma la domanda è più o meno per curiosità. Quanta perdita di precisione dovrei aspettarmi. – John