代码之家  ›  专栏  ›  技术社区  ›  AndyM

将十进制值转换为以HTML显示的货币字符串的最佳方法

  •  2
  • AndyM  · 技术社区  · 16 年前

    我想在网上商店里展示我产品的价格。 我目前正在做:

    <span class="ourprice">
         <%=GetPrice().ToString("C")%>
    </span>
    

    其中getprice()返回一个小数。因此,这当前返回一个值,例如“_12.00”。

    我认为“_12.00”输出的正确HTML是 &pound;12.00 “,因此,尽管在大多数浏览器中呈现良好效果,但一些浏览器(Mozilla)将其显示为$12.00。

    (服务器在英国,本地化在web.config中设置适当)。

    下面是一个改进,还是有更好的方法?

    <span class="ourprice">
         <%=GetPrice().ToString("C").Replace("£","&pound;")%>
    </span>
    
    6 回复  |  直到 16 年前
        1
  •  2
  •   martin    16 年前

    <globalization   culture="auto:en-us"  uiCulture="auto:en-US" />
    

      <globalization   culture="us"  uiCulture="en-gb" />
    

      <%@Page Culture="en-gb" UICulture="en-gb" ..etc... %>
    

        2
  •  3
  •   Nick Craver    16 年前

    <%=String.Format("{0:C}",GetPrice())%>
    
        3
  •  3
  •   Claus Thomsen    16 年前

    GetPrice().ToString("C", CultureInfo.CreateSpecificCulture("en-GB"))
    
        4
  •  1
  •   Peter Stuifzand    16 年前

        5
  •  0
  •   Aaron Powell    16 年前

        6
  •  0
  •   typemismatch    16 年前