Arrotondamento

giovedì 01 marzo 2012 - 09.56

LuigiJin9 Profilo | Newbie

Salve, ho un problema con l'arrotondamento per difetto
il mio valore è di MyVariab = 166,16

con questa funzione Math.Floor(MyVariab)

il risultato e di 166.0

invece vorrei che fosse di 166.15

come posso fare? Grazie

luigidibiasi Profilo | Guru

scusa ma da 1.16 se arrotondi arrivi a 1.2 (per eccesso)
da 1.14 arrivi a 1.1 (per difetto)
il floor indica l'intero immediatamente precedente al valore passato in argomento (il ceil l'intero immediatamente successivo)

devi perdere una cifra per arrotondare... (altrimenti non stai arrotondando) ... per avere 1.15 dovresti avere una coda del tipo 1.154

non credo ci sia unafunzione che te lo fa' in automatico


Luigi Di Biasi


http://www.dibiasi.it/
http://netsell.dibiasi.it - ecomm software -
http://blogs.dotnethell.it/luigidibiasi/
http://yadamp.unisa.it/ - YADAMP CMS -

LuigiJin9 Profilo | Newbie

Il mio risultato preciso è di 166,1588

posso visualizza 166.15????

Se io trasformo il numero in stringa
string DueDec = TuoDouble.ToString("N2");

e poi visualizza mi viene sempre arrotondato, c'è un modo per evitare che mi arrotondi?

luigidibiasi Profilo | Guru

allora puoi troncare ...

Dim p As Double = 166.1588
Dim x As Double = Math.Truncate(p * 100) / 100

Luigi Di Biasi


http://www.dibiasi.it/
http://netsell.dibiasi.it - ecomm software -
http://blogs.dotnethell.it/luigidibiasi/
http://yadamp.unisa.it/ - YADAMP CMS -

DomA Profilo | Expert

Ciao,
per gli arrotondamenti puoi utilizzare i metodi: Math.Round o, come suggerisce Luigi, Math.Truncate (Double).
Ad ogni modo ti suggerisco due links:

http://msdn.microsoft.com/en-us/library/system.math.round(v=vs.71).aspx

http://msdn.microsoft.com/it-it/library/c2eabd70.aspx

A presto,


http://www.infomidia.it

Domenico
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5