根据区域性自定义字符串格式(报表服务)



我正在处理一些报告中与format属性的硬代码值有关的问题。不,我正在尝试根据客户的文化代码创建自定义格式。我的代码的问题是我的新格式(用于es CL和en-US文化)不起作用,如果en-US的千元分隔符是和,那么它应该是正确的掩码。对于es Cl?谢谢

Public Shared Function GetTextMortNumberFormat(culture) As String
Select Case culture 
    Case "nb-NO"
        Return "# ### ###;-# ### ###;''"
    Case "es-CL"
        Return "#.###.###;-#.###.###;''"
    Case "en-US"
        Return "#,###,###;-#,###,###;''"
    Case Else           
        Return "# ### ###;-# ### ###;''"
End Select      
End Function

您应该只使用用户的国际化设置。对于报表本身的Language属性,请使用:

=User!Language

现在,您可以使用以下格式,这些格式将使用用户的区域语言设置来适当地格式化数字:

  • N2=小数点后2位的数字
  • N0=无小数位数
  • P0=无小数点的百分比
  • d=短日期格式

您可以在这里看到其他格式的字符串

逗号将始终尝试替换区域设置的千位分隔符,句点将固定在小数位置并替换区域设置中的小数分隔符。http://msdn.microsoft.com/en-us/library/0c899ak8.aspx

只需在ssrs报告中使用一点.net:format数字,就可以在区域设置中硬编码

最新更新