Arrotondamento per eccesso

venerdì 02 marzo 2007 - 09.42

contiello Profilo | Senior Member

salve ragazzi o la seguente necessità


immaginate di avere questo valore in una variabile .... 1,3
se uso la funzione Round questa mi restituisce 1 ... io vorrei che il valore fosse arrotondato sempre all'intero maggiore quindi ad esempio

1,1 = 2
1,4 = 2
1,8= 2

come posso fare questo tipo di operazione???????

Giamp72 Profilo | Junior Member

usa questa (è in vb6 ma te la puoi convertire in .NET senza fatica...)

Public Function CalcolaArrotondamento(ByVal valore As Single, _
ByVal TipoArr As Integer, _
ByVal ValArr As Single) As Single

Dim TempVal As Single
Dim TempInt As Single
Dim TempResto As Single

TempVal = valore

If ValArr = 0 Then
CalcolaArrotondamento = TempVal
Exit Function
End If

'calcolo la parte intera
TempInt = Int(TempVal / ValArr) * ValArr

'calcolo il resto
TempResto = TempVal - TempInt

Select Case TipoArr
Case 0 'matematico
If TempResto < (ValArr / 2) Then
TempVal = TempInt
Else
TempVal = TempInt + ValArr
End If

Case 1 'superiore
TempVal = TempInt + ValArr

Case 2 'troncamento
TempVal = TempInt

End Select
CalcolaArrotondamento = TempVal

End Function

ciao
Giamp72

Carlik Profilo | Junior Member

Usa math.ceiling
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