1

ASP.NET に表示されている Access データベースに整数があります。整数は、スポーツ イベントで競技者が達成した順位 (1 位、2 位、3 位など) を表し、必要に応じて「st」、「nd」、「rd」などの標準的な接尾辞を付けて表示したいと考えています。 、単なる数字ではなく。

重要な制限は、これが VB または C# コードを記述しないことを指定する割り当てに対するものであることです (実際には、コード ビハインド ファイルを完全に削除するように指示します)。理想的には、利用可能な場合は標準の書式文字列を使用したいのですが、それ以外の場合はおそらくカスタム文字列を使用したいと思います (書式文字列をあま​​り使用したことがなく、* にかなりの時間を割くほど優先度が高くありませんが、非常に興味があります)このための標準文字列があるかどうかについて)。

(* 宿題の期限は今夜で、かなりいらいらしたとしても、点数が取れないことに時間を費やす余裕がないことを痛感しました。)

4

2 に答える 2

3

残念ながら、これを行うための標準のフォーマット文字列はありません。しかし、次のように書くのはそれほど難しくありません。

public static string ToOrdinal(this int i, string format)
{
   string suffix = "th";
   switch (i%100)
   {
       case 11:
       case 12:
       case 13:
          //deliberately empty
          break;
       default:
          switch (i%10)
          {
              case 1:
                  suffix = "st";
                  break;
              case 2:
                  suffix = "nd";
                  break;
              case 3:
                  suffix = "rd";
                  break;
           }
           break;
   }
   return i.ToString(format) + suffix;
}
于 2010-05-28T03:23:38.063 に答える