2010-03-24 11 views
17

Similar en concepto a Math.Abs ​​() - Estoy buscando una función que cuando se le dé un entero positivo devolverá el mismo entero. Si se le da un resultado negativo, devolverá cero.Buscando .NET Método matemático que pondrá a cero un entero negativo

Así:

f(3) = 3 
f(0) = 0 
f(-3) = 0 

Sí, esto es lo suficientemente simple para escribir por mi cuenta, pero me pregunto si la clase de Matemáticas .NET ya ha construido en esta o si el mismo se puede lograr mediante el encadenamiento inteligentemente unas cuantas llamadas de Math. *?

+1

Duh. Gracias chicos. Obviamente no paso el tiempo suficiente en matemáticas. * –

Respuesta

30

Esto parece ser lo que quieres, ¿no?

Math.Max(0, num); 
14

creo

Math.Max(0, x) 

es lo que desea.

4

Parece que Math.max es el camino a seguir, pero esto funciona también ...;)

(num + Math.Abs(num))/2 
+1

Si está bien con un potencial desbordamiento en la adición – bmm6o

+0

+1 Interesante! Es la respuesta tipo que esperaba inicialmente. –

3

Math.max es mejor, pero sin Matemáticas y en VB

(num >= 0) * -num 
Cuestiones relacionadas