15

我正在研究 SSRS 2008。我想将日期显示为 2011 年 1月 1 日。但“ st ”应该在 superscipt 中……不像“1st”。

有没有办法在不安装任何自定义字体类型(其他字体类型)的情况下在 superscipt 中显示“st”、“nd”、“rd”和“th”。

4

3 回答 3

33

只需从以下列表中复制并粘贴:

ABC⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ABC₀ ₁ 2 ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎</p>

ABCᵃ ᵇ ᶜ ᵈ ᵉ ᶠ ᵍ ʰ ⁱ ʲ ᵏ ˡ ᵐ ⁿ ᵒ ᵖ ʳ ˢ ᵗ ᵘ ᵛ ʷ ˣ ʸ ᶻ</p>

ABCᴬ ᴮ ᴰ ᴱ ᴳ ᴴ ᴵ ᴶ ᴷ ᴸ ᴹ ᴺ ᴼ ᴾ ᴿ ᵀ ᵁ ᵂ</p>

ABCₐ ₑ ᵢ ₒ ᵣ ᵤ ᵥ ₓ</p>

ABC½ ¼ ¾ ⅓ ⅔ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅛ ⅜ ⅝ ⅞ № ℠ ™ © ®

ABC^ ± ¶

于 2016-02-11T22:11:50.187 回答
4

也许...

您仅限于使用String.Format可以完成的操作。字体大小和间距也指整个文本框。所以它不是“原生的”

但是,上标是 unicode,因此您可以使用一些连接字符的花哨的表达式来做到这一点。我建议自定义代码。

我没有尝试过,但是这些文章提到了它

于 2011-06-13T12:47:08.527 回答
0

我不是在这里寻找信用,因为上面的解决方案已经为你回答了,但为了初学者,我在我的报告中使用了一个代码函数。

所以在我的 SQL 中说我有 Number 字段,然后我添加一个新字段 OrdinalNumber:

SELECT ..., Number, 
       CASE WHEN (Number % 100) BETWEEN 10 AND 20 THEN 4
            WHEN (Number % 10) = 1 THEN 1
            WHEN (Number % 10) = 2 THEN 2
            WHEN (Number % 10) = 3 THEN 3
            ELSE 4 END AS OrdinalNumber,
...

然后我的代码功能:

Function OrdinalText(ByVal OrdinalNumber As Integer) As String
    Dim result As String
    Select Case OrdinalNumber
        Case 1
            result = "ˢᵗ"
        Case 2
            result = "ⁿᵈ"
        Case 3
            result = "ʳᵈ"
        Case Else
            result = "ᵗʰ"
    End Select
Return result

结束功能

然后在报告文本框中我使用表达式:

=CStr(Fields!Number.Value) & Code.OrdinalText(Fields!OrdinalNumber.Value)
于 2019-11-29T06:48:03.007 回答