¿Cómo puedo siempre redondeo al alza los valores decimales en el valor entero más cercano?

StackOverflow https://stackoverflow.com/questions/2559629

  •  23-09-2019
  •  | 
  •  

Pregunta

En un informe que tengo el siguiente código para un campo:

=Sum([PartQty]*[ModuleQty])

Ejemplo de resultados son 2.1 y 2.6. Lo que necesito es que estos valores a un máximo ronda al valor de 3. ¿Cómo puedo cambiar mi código de campo que siempre ronda los resultados de mi expresión actual?

¿Fue útil?

Solución

que podría hacer

=Int(Sum([PartQty]*[ModuleQty]))+1

Creo. Eso ayudaría a la parte de la suma Int (2) y luego añadir 1. puede que tenga que ser un poco más inteligente, ya que esto probablemente le dará 3, incluso si la suma es exactamente 2, que probablemente no es lo que desea.

No se lo probó, pero algo en este sentido podría funcionar (sintaxis de acceso no es tan grande, pero debe darle la idea correcta):

Iif(Sum([PartQty]*[ModuleQty])-Int(Sum([PartQty]*[ModuleQty]))=0,
     Sum([PartQty]*[ModuleQty]),
     Int(Sum([PartQty]*[ModuleQty]))+1)

Otros consejos

Este es un viejo truco de acceso Aprendí hace mucho tiempo, y hace uso de la forma en que las manijas de acceso fraccional, los números negativos. Prueba esto:

-Int(-[DecimalValue])

Es extraño, pero lo hará siempre ronda los números hasta el número entero más próximo.

Prueba esto:     Ronda (yournumber + 0,5, 0)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top