변환하는 가장 좋은 방법은 진수 값을 제공하는 문자열을 표시하기 위해서는 HTML
-
01-07-2019 - |
문제
나는 원하는 표시 가격에 대한 나의 제품에 온라인 스토어입니다.나는 현재 하고 있:
<span class="ourprice">
<%=GetPrice().ToString("C")%>
</span>
는 GetPrice()반환됩니다.그래서 이 현재 값을 반환합니다 예를 들면"£12.00"
내가 생각하는 올바른 HTML 을 출력의"£12.00"는"£12.00
"이지만,그래서 이것은 렌더링에서 잘 대부분의 브라우저,어떤 브라우저(Mozilla)로이 보여$12.00.
(서버,영국에서는 현지화가 적절하게 설정에서 웹.config).
은 아래의 개선 또는 더 나은 방법이 있을까?
<span class="ourprice">
<%=GetPrice().ToString("C").Replace("£","£")%>
</span>
해결책
파운드 기호(U+00A3),html 엔터티£와&파운드;해야 하는 모든 렌더링에서 동일한 브라우저입니다.
브라우저를 인식하지 않습£,그것은 아마 없을 인정 엔터티 버전입니다.그것은 ISO8859-1(라틴-1),그래서 저는 놀라게 될 것으면 모질라 브라우저를 렌더링할 수 없 그것은(나 FF 확실하게 할 수 있습니다).
당신이 볼$호,그 가능성을 두 개의 것:1.브라우저 기본 언어가 en-us 2.Asp.net 는 자동 로캘 전환합니다.기본다.config 설정은 뭔가
<globalization culture="auto:en-us" uiCulture="auto:en-US" />
로(거의 확실히)원하는 영국에만 가격,단순히 지정한 로케일에서 웹.config:
<globalization culture="us" uiCulture="en-gb" />
(나에 페이지 수준:)
<%@Page Culture="en-gb" UICulture="en-gb" ..etc... %>
그 이후에는 문자열 형식과 같은 문자열입니다.형식("{0:C}",GetPrice())과 GetPrice().ToString("C")에 사용하는 en-GB 로캘 asp.net 이 설정한 문화권에 대한 당신
(지정할 수 있지만 en-gb 문화에 과부하는 경우 당신은 편집).
다른 팁
이 시도는,그것을 사용하여 로캘 설정을 위한 응용 프로그램:
<%=String.Format("{0:C}",GetPrice())%>
사
GetPrice().ToString("C", CultureInfo.CreateSpecificCulture("en-GB"))
당신이 쓸 수 있는 기능을 수행하에서 변환을 가격하는 문자열입니다.이 방법은 많이 있어를 통해 출력합니다.
문제 로케일의 웹 서버로 의존하지 않 웹 브라우저에 따라 다릅니다.
필요하신 경우에는 상태에 명의 현지화를 사용할 수 있습니다 다음은 전달된 문자열에 포맷.
사용 ToString("C2")재산의 진수 값입니다.설정한 세계화에 web.config-그것은 간단합니다.