記事詳細


投稿日
2026年05月08日22時43分
タイトル

ASP.NET MVC Core: モデルクラスのフィールドをアノテーションで日本円の表示にしたいです。

内容

ASP.NET Core MVC でモデルクラスのフィールドを アノテーションで日本円表示にするには、
[DisplayFormat] 属性の DataFormatString に "C"(通貨フォーマット)を指定し、カルチャを日本 (ja-JP) に設定します。

以下は実装例です。

1. モデルクラスの設定

Csharp
using System; using System.ComponentModel.DataAnnotations; namespace MyApp.Models { public class Product { [Display(Name = "商品名")] public string Name { get; set; } [Display(Name = "価格")] [DisplayFormat(DataFormatString = "{0:C}", ApplyFormatInEditMode = false)] public decimal Price { get; set; } } }
  • {0:C} はカルチャに応じた通貨形式で表示します。
  • ApplyFormatInEditMode = false にすると、編集フォームではフォーマットを適用せず数値だけを表示します。
  • 日本円にするには、アプリのカルチャを ja-JP に設定します。

2. カルチャ設定(Startup.cs / Program.cs)

ASP.NET Core 3.1 以降では Program.cs にローカライズ設定を追加します。

Csharp
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Localization; using Microsoft.Extensions.DependencyInjection; using System.Globalization; var builder = WebApplication.CreateBuilder(args); // MVC サービス追加 builder.Services.AddControllersWithViews(); var app = builder.Build(); // 日本カルチャ設定 var supportedCultures = new[] { new CultureInfo("ja-JP") }; app.UseRequestLocalization(new RequestLocalizationOptions { DefaultRequestCulture = new RequestCulture("ja-JP"), SupportedCultures = supportedCultures, SupportedUICultures = supportedCultures }); app.UseStaticFiles(); app.UseRouting(); app.MapDefaultControllerRoute(); app.Run();

これで {0:C} が "¥1,234" のように日本円で表示されます。

3. ビューでの表示

ビュー(Razor)では DisplayFor を使うとアノテーションのフォーマットが適用されます 1 2

Razor
@model MyApp.Models.Product <h2>@Html.DisplayNameFor(m => m.Price):@Html.DisplayFor(m => m.Price)</h2>

4. 実行例

  • モデル値: Price = 1234.5m
  • 出力(ja-JP カルチャ):
    価格:¥1,234

✅ ポイント

  • 通貨記号や桁区切りはカルチャ依存なので、必ず RequestLocalization で ja-JP を設定する。
  • 編集画面でもフォーマットを適用したい場合は ApplyFormatInEditMode = true にする。
  • 表示専用なら DisplayFor を使うのが安全。

もし希望があれば、この日本円表示を DataAnnotations のローカライズと組み合わせて、
「価格」ラベルやエラーメッセージも多言語化するサンプルも作れますが、作成しますか?
そうすれば英語UIでは "Price: ¥1,234" のように切り替えられます。

Powered by Froala Editor

添付画像

画像はありません
Genreのカテゴリ-名
Models
編集 | 記事一覧