2009-05-28 43 views
35

Estoy intentando averiguar la cadena de estilo para la función Formato (Expresión como objeto, Estilo como cadena) en una expresión de Reporting Services.¿Cuáles son las cadenas de formato de estilo válidas para una expresión de Reporting Services [SSRS]?

¡No encuentro dónde están documentadas estas cadenas de formato de estilo!

Específicamente estoy tratando de formatear un campo Precio para que sea siempre 2 decimales.

es decir, 1,5 formatos a $ 1.50

+9

Las respuestas son buenas para su pregunta específica, pero en general, se debe evitar el uso del '= Format()' función, y en su lugar establecer el formato en el cuadro de texto o marcador de posición. Estos tomarán las mismas cadenas de formato que 'Format()', pero las exportaciones conservarán el valor del número, no lo convertirán en una cadena. Ver http://stackoverflow.com/questions/13180160/ssrs-2005-number-formating-int-and-double-within-one-field –

+0

Sí, probablemente no necesitaríamos la función 'Format()' si SSRS expresiones condicionales compatibles para formatos de números de campo. – Baodad

Respuesta

34

Formato con divisas cadena formato

=Format(Fields!Price.Value, "C") 

Se le dará 2 decimales con "$" como prefijo.

Puede encontrar otras cadenas de formato en MSDN: Adding Style and Formatting to a ReportViewer Report

+0

Esta es la respuesta correcta a mi pregunta específica ... Lo había intentado anteriormente pero también tenía un error en mi código, puse un CStr() dentro de la función de Formato. Tuve que cambiar el formato (CStr (Fields! Price.Value), "C") a CStr (Formato (Fields! Price.Value, "C")) –

+0

@Jon: ¿Estás usando "Cstr()" para anexar el valor del precio formateado a otra cadena? – Sung

+0

NB: si quiere su divisa local, asegúrese de establecer apropiadamente la propiedad de Idioma del Informe, p. si tiene el Idioma del informe configurado en "en-GB", la cadena de formato de moneda "C" le dará £ en lugar de $. –

1

Puede comprobar el esquema en http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition/ReportDefinition.xsd

Buscar xsd: complexType name = "StyleType"

Esto mostrará todos los estilos posibles que puede utilizar .

Específico a su pregunta, sin embargo, puede utilizar el estilo de Formato.

Formato

Specify the data format to use for values that appear in the textbox. 

Los valores válidos incluyen Programado, Número, fecha, hora, porcentaje, y la moneda.

Enlace a MSDN: http://msdn.microsoft.com/en-us/library/ms251684(VS.80).aspx

+1

+1 para buenos enlaces. No estoy usando la función Format(), pero colocando los códigos en el cuadro de texto "Number -> Format" en el momento del diseño, ¡y no pude encontrar la lista de códigos en ninguna parte! –

33

Como se ha mencionado, se puede utilizar:

=Format(Fields!Price.Value, "C") 

Un dígito después de la "C" en términos de precisión:

=Format(Fields!Price.Value, "C0") 
=Format(Fields!Price.Value, "C1") 

También puede usar Excel-style masks de esta manera:

=Format(Fields!Price.Value, "#,##0.00") 

No he probado el último, pero está la idea. También funciona con fechas:

=Format(Fields!Date.Value, "yyyy-MM-dd") 
+0

consejo increíble. gracias peter –

+2

Gracias Peter! Necesitaba mostrar hasta 4 lugares después del decimal, así que pude usar la máscara que sugirió. = Formato (Fields! Rate.Value, "$ ###, ###, ## 0.00 ##") – msmucker0527

1

dar un valor Cadena de formato de C2 para las propiedades del valor como se muestra en la siguiente figura.

enter image description here

1

Este enlace tiene la referencia que necesita para personalizar su propio formato https://msdn.microsoft.com/en-us/library/0c899ak8.aspx

+0

Tenga en cuenta que [se desaconsejan las respuestas con solo el enlace] (http://meta.stackoverflow.com/tags/link-only-answers/info), las respuestas SO deberían ser el punto final de una búsqueda de una solución (frente a otra escala más de referencias, que tienden a quedarse obsoletas en el tiempo). Considere agregar una sinopsis independiente aquí, manteniendo el enlace como referencia. – kleopatra

Cuestiones relacionadas