Reporting Services [s-s-rS] 表达式的有效样式格式字符串是啥?
Posted
技术标签:
【中文标题】Reporting Services [s-s-rS] 表达式的有效样式格式字符串是啥?【英文标题】:What are the valid Style Format Strings for a Reporting Services [s-s-rS] Expression?Reporting Services [s-s-rS] 表达式的有效样式格式字符串是什么? 【发布时间】:2010-10-29 16:19:48 【问题描述】:我正在尝试找出 Reporting Services 表达式中 Format(Expression as Object, Style as String) 函数的样式字符串。
我找不到这些样式格式字符串的记录位置!
具体来说,我正在尝试将价格字段格式化为始终保留 2 位小数。
即 1.5 格式到 $1.50
【问题讨论】:
答案对您的特定问题有好处,但一般来说,您应该避免使用=Format()
函数,而是在文本框或占位符上设置格式。这些将采用与Format()
相同的格式字符串,但导出将保留数字的值,而不是将其转换为字符串。见***.com/questions/13180160/…
是的,如果 s-s-rS 支持字段编号格式的条件表达式,我们可能不需要 Format()
函数。
【参考方案1】:
用货币格式格式化字符串
=Format(Fields!Price.Value, "C")
它会给你 2 位小数,前缀为“$”。
你可以在 MSDN 上找到其他格式字符串:Adding Style and Formatting to a ReportViewer Report
注意:MSDN 文章已归档到“VS2005_General”文档,不再可直接在线访问。以下是引用的格式化字符串的摘录:
格式化数字
下表列出了常见的 .NET Framework 数字格式 字符串。
格式字符串,名称
C 或 c 货币
D 或 d 十进制
E 或 e 科学
F 或 f 定点
G 或 g 一般
N 或 n 个数字
P 或 p 百分比
R 或 r 往返
X 或 x 十六进制
您可以修改许多格式字符串以包含精度 定义右边的位数的说明符
小数点。例如,格式化字符串 D0 格式化 数字,使其小数点后没有数字。你
还可以使用自定义格式字符串,例如#,###。
格式化日期
下表列出了常见的 .NET Framework 日期格式 字符串。
格式字符串,名称
d 短日期
D 长日期
t 短时间
很久了
f 完整日期/时间(短时间)
F 完整日期/时间(长时间)
g 一般日期/时间(短时间)
G 一般日期/时间(长时间)
M 或 m 月日
R 或 r RFC1123 模式
Y 或 y 年月
您还可以使用自定义格式字符串;例如,日/月/年。 有关 .NET 框架的更多信息 格式化字符串,请参阅格式化类型。
【讨论】:
这是我的具体问题的正确答案...我之前尝试过,但我的代码也有错误,我在 Format 函数中放置了一个 CStr() 。我不得不将 Format(CStr(Fields!Price.Value), "C") 更改为 CStr(Format(Fields!Price.Value, "C")) @Jon: 你是否使用“Cstr()”将格式化后的价格值附加到另一个字符串中? 注意:如果您想要使用本地货币,请确保正确设置报告本身的 Language 属性,例如如果您将报告的语言设置为“en-GB”,那么货币格式字符串“C”将为您提供 £ 而不是 $。【参考方案2】:您可以设置TextBox属性来设置负数显示和小数位设置。
-
右键单击单元格,然后单击文本框属性。
选择数字,然后在类别字段中单击货币。
【讨论】:
【参考方案3】:如前所述,您可以使用:
=Format(Fields!Price.Value, "C")
“C”后面的数字将指定精度:
=Format(Fields!Price.Value, "C0")
=Format(Fields!Price.Value, "C1")
你也可以像这样使用Excel-style masks:
=Format(Fields!Price.Value, "#,##0.00")
还没有测试过最后一个,但有这个想法。也适用于日期:
=Format(Fields!Date.Value, "yyyy-MM-dd")
【讨论】:
谢谢彼得!我需要在小数点后最多显示 4 位,所以我可以使用你建议的掩码。 =Format(Fields!rate.Value, "$###,###,##0.00##")【参考方案4】:为值的属性提供一个格式字符串值 C2,如下图所示。
【讨论】:
【参考方案5】:您可以在以下位置检查架构 http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition/ReportDefinition.xsd
搜索 xsd:complexType name="StyleType"
这将列出您可以使用的所有可能的样式。
但是,针对您的问题,您可以使用格式样式。
格式
Specify the data format to use for values that appear in the textbox.
有效值包括默认值、数字、 日期、时间、百分比和货币。
链接到 MSDN:http://msdn.microsoft.com/en-us/library/ms251684(VS.80).aspx
【讨论】:
+1 以获得良好的链接。我没有使用 Format() 函数,而是在设计时将代码放入“数字 - > 格式”文本框中,并且在任何地方都找不到代码列表!以上是关于Reporting Services [s-s-rS] 表达式的有效样式格式字符串是啥?的主要内容,如果未能解决你的问题,请参考以下文章