更改货币符号位置
Change the currency symbol placement
我想知道是否可以更改货币符号的默认位置。
例如,默认输出将是这样的:3,00
但我希望它像那样 123,00 $
.
请注意,文化可能会随着用户设置而改变
public CultureInfo CurrencyCulture { get; }
public string FormatCurrency(decimal value)
{
var decimalPlace = _config.GetValue<int>("Global.CurrencyDecimalPlace");
return value.ToString($"C{decimalPlace}", CurrencyCulture);
}
CSHTML 内部
<tr>
<td>
<div>@item.Product.Name</div>
</td>
<td>@CurrencyService.FormatCurrency(item.ProductPrice)</td>
<td>@item.Quantity</td>
<td>@CurrencyService.FormatCurrency(item.ProductPrice * item.Quantity))</td>
</tr>
您缺少的一点信息是 属性 CurrencyPositivePattern and its more complex counterpart CurrencyNegativePattern
在备注部分你可以找到这个table
Value Associated pattern
0 $n
1 n$
2 $ n
3 n $
所以你的代码可以写成
public string FormatCurrency(decimal value)
{
CurrencyCulture.NumberFormat.CurrencyPositivePattern = 3;
var decimalPlace = _config.GetValue<int>("Global.CurrencyDecimalPlace");
return value.ToString($"C{decimalPlace}", CurrencyCulture);
}
我想知道是否可以更改货币符号的默认位置。
例如,默认输出将是这样的:3,00
但我希望它像那样 123,00 $
.
请注意,文化可能会随着用户设置而改变
public CultureInfo CurrencyCulture { get; }
public string FormatCurrency(decimal value)
{
var decimalPlace = _config.GetValue<int>("Global.CurrencyDecimalPlace");
return value.ToString($"C{decimalPlace}", CurrencyCulture);
}
CSHTML 内部
<tr>
<td>
<div>@item.Product.Name</div>
</td>
<td>@CurrencyService.FormatCurrency(item.ProductPrice)</td>
<td>@item.Quantity</td>
<td>@CurrencyService.FormatCurrency(item.ProductPrice * item.Quantity))</td>
</tr>
您缺少的一点信息是 属性 CurrencyPositivePattern and its more complex counterpart CurrencyNegativePattern
在备注部分你可以找到这个table
Value Associated pattern
0 $n
1 n$
2 $ n
3 n $
所以你的代码可以写成
public string FormatCurrency(decimal value)
{
CurrencyCulture.NumberFormat.CurrencyPositivePattern = 3;
var decimalPlace = _config.GetValue<int>("Global.CurrencyDecimalPlace");
return value.ToString($"C{decimalPlace}", CurrencyCulture);
}