格式编号作为排名位置

时间:2010-08-04 15:45:02

标签: c# formatting numbers

  

可能重复:
  Is there an easy way in .NET to get “st”, “nd”, “rd” and “th” endings for numbers?

C#中是否有任何内容可以将数字格式化为排名位置?

“排名位置”是[“st”,“nd”,“rd”,“th”的意思之一,例如:(1st,2nd,3rd,4th)。

我知道为此编写一个扩展名很容易,我只是想知道该语言中是否已有某些内容可以满足。

干杯

2 个答案:

答案 0 :(得分:0)

不,没有为此目的内置任何东西。不确定它是否相关,但如果跨越语言/文化,则考虑文化差异。

答案 1 :(得分:-2)

我已经纠正过了。请参阅上述评论中所述的重复问题。

<击> 不是开箱即用的;但是,正如您所提到的,扩展非常简单。

public static string ConvertToRankingPosition(this int value)
{
    var digit = value % 10;
    return value != 11 && digit == 1 : value + "st" :
           value != 12 && digit == 2 : value + "nd" :
           value != 13 && digit == 3 : value + "rd" :
           value + "th"
}

<击>