格式价格为丹麦语,右侧为货币符号

时间:2013-07-21 14:18:10

标签: c# localization currency

如何在Eval()方法中为丹麦语中的价格格式化格式,并在右侧使用货币符号格式化C#?

我的.aspx页面中有以下内容显示价格:

<td class="text-right price-col"><%# Eval("Price", "{0:c}") %></td>

但这会显示价格,例如的 KR。 79,00 ..我想要的是 79,00 kr。

我看到这篇文章Changing Currency Symbol location in System.Globalization.NumberFormatInfo并在codebehind中添加了这个方法,它给了我想要的结果:

<td class="text-right price-col"><%# PriceFormat(79) %></td>

protected string PriceFormat(decimal price) {
        System.Globalization.CultureInfo danish = new System.Globalization.CultureInfo("da-DK");
        danish = (System.Globalization.CultureInfo)danish.Clone();
        // Adjust these to suit
        danish.NumberFormat.CurrencyPositivePattern = 3;
        danish.NumberFormat.CurrencyNegativePattern = 3;
        decimal value = price;
        string output = value.ToString("C", danish);

        return output;
    }

但是我可以使用PriceFormat方法和Eval()方法来获得正确的价格作为参数,还是修改Eval()方法中的格式来做同样的事情? 我的例子我只是插入一个静态值作为参数(79)。

1 个答案:

答案 0 :(得分:3)

Eval会返回object,因此您可以将其转换为decimal并将其作为参数传递给PriceFormat方法:

<%# PriceFormat((decimal)Eval("Price")) %>