[英]Blazor WASM .net HttpClient with MultipartFormDataContent not working
[英].NET 5 Blazor WASM StringFormat Currency
我展示了一些英國文化中的貨幣:
value.ToString("C2", CultureInfo.CreateSpecificCulture("en-GB"));
但由於我已將代碼切換到 .NET 5,因此得到以下結果:
GBP124.00
我怎樣才能通過仍然使用C0或C2取回124.00 英鎊?
我在 Blazor WebAssembly 工作。 這里有一個例子:
(小提琴: https ://blazorfiddle.com/s/2dyefc8o)
@page "/"
@using System.Globalization
@FormatDefaultFloatCurrency(price)
<br />
@FormatFloatCurrency(price)
<br />
@FormatFloatCurrencyISO(price)
@code {
float price = 4897;
string FormatDefaultFloatCurrency(float value)
{
var regionCode = "en-GB";
return value.ToString("C0", CultureInfo.CreateSpecificCulture(regionCode));
}
string FormatFloatCurrency(float value)
{
var regionCode = "en-GB";
var region = new RegionInfo(regionCode);
var culture = CultureInfo.CreateSpecificCulture(regionCode);
culture.NumberFormat.CurrencySymbol = region.CurrencySymbol;
return value.ToString("C0", culture);
}
string FormatFloatCurrencyISO(float value)
{
var regionCode = "en-GB";
var region = new RegionInfo(regionCode);
var culture = CultureInfo.CreateSpecificCulture(regionCode);
culture.NumberFormat.CurrencySymbol = region.ISOCurrencySymbol;
return value.ToString("C0", culture);
}
}
在 .NET Core 3.1(blazorFiddle 使用的版本)中:
£4,897
£4,897
GBP4,897
我在 .NET 5 中得到的結果:
GBP4,897
GBP4,897
GBP4,897
根據https://github.com/dotnet/runtime/issues/45262 ,Blazor webAssembly 中的文化似乎存在問題。
你可以加
<BlazorWebAssemblyLoadAllGlobalizationData>true</BlazorWebAssemblyLoadAllGlobalizationData>
在PropertyGroup內的客戶端項目文件 (.csproj) 中
盡管我無法重現您的問題,但我想我可能會為您提供幫助。
您可以使用以下代碼段來設置貨幣符號:
var regionCode= "en-GB";
var region = new RegionInfo(regionCode);
var culture = CultureInfo.CreateSpecificCulture(regionCode);
culture.NumberFormat.CurrencySymbol = region.CurrencySymbol;
var currencyString = value.ToString("C2", culture);
此外,如果您需要將貨幣符號顯式設置為三字符代碼,您可以簡單地更改該行
// that results in "£124.00"
culture.NumberFormat.CurrencySymbol = region.CurrencySymbol;
對一個
// that results in "GBP124.00"
culture.NumberFormat.CurrencySymbol = region.ISOCurrencySymbol;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.