View Full Version : [C#] numeri float
CL4UD1O83
18-11-2009, 17:36
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
Kralizek
18-11-2009, 22:46
usa il tipo decimal ;)
CL4UD1O83
19-11-2009, 08:19
purtroppo devo lavorare con dati a 32 bit, penso che l'unica soluzione sia quella di formattarli ogni volta che li visualizzo...
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.
CL4UD1O83
19-11-2009, 09:24
ok, ti ringrazio per la spiegazione!
Kralizek
19-11-2009, 10:12
dai un'occhiata a questo trucchetto:
http://stackoverflow.com/questions/605124/fixed-point-math-in-c
magari puoi scriverti una classe che incapsula questa logica :)
CL4UD1O83
19-11-2009, 13:10
ho trovato un metodo semplice che sfrutta Math.Round():
float n = 123.456F;
n = (float)Math.Round(n, 1)
restituisce il numero come serve a me...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.