변환하는 가장 좋은 방법은 진수 값을 제공하는 문자열을 표시하기 위해서는 HTML

StackOverflow https://stackoverflow.com/questions/88522

문제

나는 원하는 표시 가격에 대한 나의 제품에 온라인 스토어입니다.나는 현재 하고 있:

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

는 GetPrice()반환됩니다.그래서 이 현재 값을 반환합니다 예를 들면"£12.00"

내가 생각하는 올바른 HTML 을 출력의"£12.00"는"&pound;12.00"이지만,그래서 이것은 렌더링에서 잘 대부분의 브라우저,어떤 브라우저(Mozilla)로이 보여$12.00.

(서버,영국에서는 현지화가 적절하게 설정에서 웹.config).

은 아래의 개선 또는 더 나은 방법이 있을까?

<span class="ourprice">
     <%=GetPrice().ToString("C").Replace("£","&pound;")%>
</span>
도움이 되었습니까?

해결책

파운드 기호(U+00A3),html 엔터티&#163;와&파운드;해야 하는 모든 렌더링에서 동일한 브라우저입니다.

브라우저를 인식하지 않습£,그것은 아마 없을 인정 엔터티 버전입니다.그것은 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-그것은 간단합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top