I have an ASP.NET Core 2.1 project where I am rendering some currency numbers through a Razor HTML page.

View Model

class MyModel
{
    public decimal Money { get; set; } = 1.23
}

Razor Page

@model MyModel
<p>@Model.Money.ToString("C")</p>

This project is deployed to Azure App Service.

On a Windows App Service plan (and my local Windows 10 machine), this produces "$1.23" as expected. However, if I deploy the same project to a Linux App Service Plan it renders "¤1.23".

According to Google:

The currency sign (¤) is a character used to denote an unspecified currency.

Any idea what there is a difference between the two OS here? Do I need to explicitly set the culture or something on Linux?

Related posts

Recent Viewed