|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Apr 2008
Messaggi: 38
|
[C#] numeri float
Ciao a tutti,
volevo sapere se esiste un modo per impostare il formato dei numeri float in C#. Mi spiego meglio, non voglio formattare il numero per la visualizzazione ma voglio che venga memorizzato ad esempio con una sola cifra decimale dopo la virgola. Grazie in anticipo |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
|
usa il tipo decimal
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Apr 2008
Messaggi: 38
|
purtroppo devo lavorare con dati a 32 bit, penso che l'unica soluzione sia quella di formattarli ogni volta che li visualizzo...
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Float sta per floating point, ovvero punto decimale flottante.
A seconda della magnitudo del valore memorizzato, si hanno diverse cifre di precisione decimale, eventualmente 0. Ovvero gia' anche con i float normali ci sono casi in cui la precisione dopo la virgola e' di un e un solo decimale. Tu staresti forse cercando un "Fixed point". Ci sono esempi di classi in giro, piu' o meno dettagliate, per quello che ti serve.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Apr 2008
Messaggi: 38
|
ok, ti ringrazio per la spiegazione!
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
|
dai un'occhiata a questo trucchetto:
http://stackoverflow.com/questions/6...oint-math-in-c magari puoi scriverti una classe che incapsula questa logica |
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Apr 2008
Messaggi: 38
|
ho trovato un metodo semplice che sfrutta Math.Round():
Codice:
float n = 123.456F; n = (float)Math.Round(n, 1) |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:26.



















