my.ASPItalia.com
ASP.NET
|
HTML5
|
LINQ e Entity Framework
|
Silverlight
|
Windows Phone
|
.NET Framework
|
Windows 8
|
Libro WP7
|
Libro HTML5
|
Corso HTML5
Iscriviti
Login
Newsletter
Home
Articoli
Script
Notizie
FORUM
Blogs
Media
Tutorials
Corsi
Libri
Eventi
Tags
Tutti i forum
Ricerca
FAQ
Fai una domanda
Help: 5.01 - 5.0 = 9.9..
in
Classic ASP
>
ASP - avanzato
Ultimo messaggio
PadovaBoy
l'11 giugno 2009 alle 13:17
575 messaggi
dal 23 giugno 2003
www.padovaboy.it
Salve a tutti ;)
E' da un pò che non scrivo qui e brutalmente vi sfrutto per confrontarmi su un problema assurdo.
Mi capita ciò sia sotto Vista (IIS7) sia su windows2003(IIS6):
dim a,b
a = CDbl(5.01)
b = CDbl(5.00)
Response.Write a & " - "&b&" = "& ( a - b) & "<br>"
c = CDbl ( a - b)
Response.Write c & "<br>"
Sputa questo:
5,01 - 5 = 9,99999999999979E-03
9,99999999999979E-03
Ora 5.01 - 5 a casa mia fa 0.01...non certamente 9,9...
Qualcuno sa aiutarmi?
Tnnxx!!!
www.padovaboy.it dal 2001 con furore :D
Rispondi
Quoting
PadovaBoy
l'11 giugno 2009 alle 13:59
575 messaggi
dal 23 giugno 2003
www.padovaboy.it
Ok è un problema di rappresentazione dei numeri...evidentemente ho da studiare un altro pò :))
Fatto sta che se faccio:
dim a,b
a = CDbl(5.01)
b = CDbl(5.00)
Response.Write a & " - "&b&" = "& ( a - b) & "<br>"
c = CDbl ( a - b)
d = a -c '<--- 5.01 - 9,999999.... = 5! YESS!
Response.Write c & "<br>"
Response.Write d & "<br>"
Ottengo questo risultato:
5,01 - 5 = 9,99999999999979E-03
9,99999999999979E-03
5 <--!!!!
Ovvero 5 è il risultato di 5.01 - 9.9999
Il problema sta nella rappresentazione float del numero che differisce dal concetto naturale di numero.
Se voglio "visualizzare correttamente" il valore devo usare qualcosa come:
FormatNumber(CDbl ( a - b), 6)
dove 6 è il numero massimo di cifre decimali che voglio mostrare.
A quel punto mi sputa: 0.010000
Mi è stato consigliato di studiarmi il problema qui:
http://en.wikipedia.org/wiki/Floating_point
Evvai con le cose che davo per scontate ;)
www.padovaboy.it dal 2001 con furore :D
Rispondi
Quoting
Salto rapido
Ultimi messaggi
Tutti i forum
Ricerca
Utenti online
ASP.NET
ASP.NET 2.0
ASP.NET 3.5
ASP.NET 4.0
.NET Framework
Silverlight
Windows Phone
Windows Presentation Foundation e WinForms
Windows Communication e Workflow
ASP - avanzato
ASP - base
SQL Server e MySQL
E-commerce
Hosting
Altri linguaggi e tecnologie
Windows Server, IIS & Security
Libri
OT
Commenti: blogs e notizie
Eventi
Torna al forum
| Feed
RSS
ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Effettua il login!
Hai dimenticato la password?
UTENTI ONLINE
In primo piano
Annunciate le versioni ufficiali di Visual Studio 11
Rilasciato Visual Studio 11 Beta: scopri tutte le novità!
Windows 8 Consumer Preview: segui con noi la diretta
I più letti di oggi
Le novità di ASP.NET 4.5 (Community Days 2012)
Introduzione ad Entity Framework
Web Camp - ASP.NET MVC 3 (Community Days 2012)
Forzare il binding di una casella di testo al tap sull'appbar di Windows Phone 7
Tutorial Windows Phone 7
Sviluppare applicazioni per Windows Phone
Forzare la chiusura dell'applicazione in Windows Phone 7
Evitare submit doppi della web form
Gestire l'input di date tramite il controllo DatePicker di jQuery UI
Media
Sviluppare applicazioni web mobile con HTML5 e jQuery mobile
Metro Style App per Windows 8 con HTML e Javascript
Tutti i media
In evidenza
Dal 29 febbraio arriva WinRTItalia.com: tutto sullo sviluppo per Windows 8 e Metro
Aprire una popup in Silverlight
Sviluppare applicazioni web mobile con HTML5 e jQuery mobile
Disegnare un'applicazione a servizi con Entity Framework e WCF
Il nuovo tag time in HTML5
Salvare e leggere rapidamente le impostazioni di un'applicazione Windows Phone
Metro Style App per Windows 8 con HTML e Javascript
Aggiungere un handler globale per le chiamate AJAX di ASP.NET MVC
MISC
I nostri autori
Collabora con noi!
Media Kit - Pubblicità sul nostro network