programing

CultureInfo로 문자열 형식 지정

codeshow 2023. 9. 4. 20:51
반응형

CultureInfo로 문자열 형식 지정

파운드 기호와 형식 0.00, 즉 £45.00, £4.10을 표시하고 싶습니다. 다음 문장을 사용합니다.

<td style="text-align:center"><%# Convert.ToString(Convert.ToSingle(Eval("tourOurPrice")) / Convert.ToInt32(Eval("noOfTickets")), new System.Globalization.CultureInfo("en-GB")) %></td>

하지만 효과가 없습니다.무엇이 문제입니까?

누가 나를 도와줄 수 있습니까?

통화 표준 형식 문자열을 문자열과 함께 사용합니다.포맷 공급자를 사용하는 포맷 방법:

string.Format(new System.Globalization.CultureInfo("en-GB"), "{0:C}", amount)

CultureInfo는 형식 공급자 역할을 할 수 있으며 문화에 대한 올바른 통화 기호도 제공합니다.

그런 다음 예제는 다음과 같습니다(가독성을 위한 공간).

<td style="text-align:center">
    <%# string.Format(new System.Globalization.CultureInfo("en-GB"), 
                      "{0:C}", 
                      Convert.ToSingle(Eval("tourOurPrice")) 
                             / Convert.ToInt32(Eval("noOfTickets")))
    %>
</td>

어때.

<%# (Convert.ToSingle(Eval("tourOurPrice")) / Convert.ToInt32(Eval("noOfTickets"))).ToString("C", New System.Globalization.CultureInfo("en-GB")) %>

이렇게 하면 됩니다.

<td style="text-align:center">
<%# String.Format( new System.Globalization.CultureInfo("en-GB"), "{0:c}", Convert.ToSingle(Eval("tourOurPrice")) / Convert.ToInt32(Eval("noOfTickets")) %>
</td>

정확한 통화 형식을 지정해 보십시오.

String.Format(...CultureInfo("en-GB"), "{0:C}"....

문자열에서 복제된 CultureInfo 개체를 사용하는 방법을 보여주기 위해 관련 답변을 추가하고 싶었습니다.형식() 또는 StringBuffer입니다.형식 추가().하지만 통화 대신 고용주 스타일 가이드의 AM/PM 지정자를 포맷해야 했습니다.제가 한 일은 다음과 같습니다.

var culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
culture.DateTimeFormat.AMDesignator = "a.m.";
culture.DateTimeFormat.PMDesignator = "p.m.";
....
var msg = new StringBuilder();
msg.AppendFormat(culture,"Last modified: {0:M/d/yyyy h:mm tt}", ad.DateModified);

끈으로도 같은 일을 할 수 있습니다.형식():

string strMsg = string.Format(culture, "Last modified: {0:M/d/yyyy h:mm tt}", ad.DateModified);

언급URL : https://stackoverflow.com/questions/1266093/format-string-by-cultureinfo

반응형