switch ssrs services not name isnothing first fields example dataset1 code service reporting-services reporting

services - La expresión de SSRS para formatear dos decimales no muestra ceros



not ssrs (6)

Estoy usando la siguiente expresión para formatear mi valor para mostrar solo dos decimales. Lo cual funciona bien si el valor no es 0. Sin embargo, cuando el valor es 0 no muestra 0.

p.ej. Expresión utilizada

=Format(Fields!CUL1.Value, "##.##")

Si CUL1.Value es 2.5670909 el valor mostrado en el informe 2.56 (¡esto es brillante!) Si CUL1.Value es 0.006709, no se muestra ningún valor (me gustaría que muestre 0.00) Si CUL1.Value es 0, no se muestra ningún valor (I me gustaría mostrar 0)

Gracias.


Debe asegurarse de que siempre se muestre el primer número a la derecha del punto decimal. En cadenas de formato personalizado, # significa mostrar el número si existe, y 0 significa siempre mostrar algo, con 0 como marcador de posición.

Entonces en tu caso necesitarás algo como:

=Format(Fields!CUL1.Value, "#,##0.##")

Este dicho: muestre 2 DP si existen, para la parte que no sea cero siempre muestre la parte más baja, y use , como separador de agrupamiento.

Así es como se ve en sus datos (también he agregado un gran valor como referencia):

Si no está interesado en separar miles, millones, etc., simplemente use #0.## como sugirió Paul-Jan.

Los documentos estándar para cadenas de formato numérico personalizado son su mejor referencia aquí.


En realidad, necesitaba lo siguiente ... deshacerme de los decimales sin redondear, por lo que "12.23" debe mostrarse como "12". En SSRS, no formatee el número como un porcentaje. Deje el formato como predeterminado (no se aplica formato) y luego en la expresión haga lo siguiente: = Fix(Fields!PctAmt.Value*100))

Multiplique el número por 100 y luego aplique la función FIX en SSRS, que devuelve solo la parte entera de un número.


Prueba esto

=Format(Fields!CUL1.Value,"F2")


Pruebe el siguiente fragmento de código,

IIF(Round(Avg(Fields!Vision_Score.Value)) = Avg(Fields!Vision_Score.Value), Format(Avg(Fields!Vision_Score.Value)), FORMAT(Avg(Fields!Vision_Score.Value),"##.##"))

Espero que ayude, gracias.


Si desea mostrar siempre algún valor después del decimal, por ejemplo, "12.00" o "12.23", entonces use el siguiente ejemplo, funcionó para mí

FormatNumber("145.231000",2) que mostrará 145.23

FormatNumber("145",2) que mostrará 145.00


Format(Fields!CUL1.Value, "0.00") funcionaría mejor ya que @abe sugiere que quiera mostrar 0.00 , y si el valor fuera 0, "#0.##" mostraría "0" .