double.ToString ()에서 소수점 기호를 변경하는 방법은 무엇입니까?
소수점을 C #의 다른 문자로 변경하고 싶습니다. 나는 double
변수가있다value
double value;
그리고 명령을 사용할 때 :
Console.WriteLine(value.ToString()); // output is 1,25
나는 이것을 할 수 있다는 것을 안다.
Console.WriteLine(value.ToString(
CultureInfo.CreateSpecificCulture("en-GB"))); // output is 1.25
그러나 나는 그것이 매우 길고 프로그램에서 자주 필요하기 때문에별로 좋아하지 않습니다.
"소수점"을 내 문화에서 일반적으로 쉼표가 아닌 포인트로 설정하는 더 짧은 버전이 있습니까?
몇 가지 지름길은 NumberFormatInfo 클래스를 만들고 해당 NumberDecimalSeparator 속성을 "."로 설정하는 것입니다. 필요할 때마다 ToString () 메서드에 대한 매개 변수로 클래스를 사용하십시오.
using System.Globalization;
NumberFormatInfo nfi = new NumberFormatInfo();
nfi.NumberDecimalSeparator = ".";
value.ToString(nfi);
확장 방법을 만드시겠습니까?
Console.WriteLine(value.ToGBString());
// ...
public static class DoubleExtensions
{
public static string ToGBString(this double value)
{
return value.ToString(CultureInfo.GetCultureInfo("en-GB"));
}
}
아마도 당신의 질문의 의도를 오해하고있을 것입니다. 만약 제가 틀렸다면 저를 정정하십시오. 그러나 문화 설정을 한 번 전체적으로 적용하고 모든 쓰기 문을 사용자 정의하는 것에 대해 걱정하지 않으시겠습니까?
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-GB");
숫자를 표시하는 데 사용되는 문화권을 변경하여 소수점 구분 기호를 변경할 수 있습니다. 그러나 이렇게하면 숫자에 대한 모든 것이 변경됩니다 (예 : 그룹화 구분 기호, 그룹화 크기, 소수 자릿수). 귀하의 질문에 따르면 쉼표를 소수 구분 기호로 사용하는 문화권을 기본값으로 사용하는 것 같습니다.
변경하려면 단지 문화를 변경하지 않고 소수 구분 기호를, 당신은 수정할 수 있습니다 NumberDecimalSeparator
현재 문화의의 속성을 NumberFormatInfo
.
Thread.CurrentCulture.NumberFormat.NumberDecimalSeparator = ".";
이것은 스레드의 현재 문화를 수정합니다. 이제 모든 출력이 변경됩니다. 즉 value.ToString()
, 숫자를 출력 할 때마다 문화권 변경에 대해 걱정하지 않고 원하는 형식을 출력하는 데 사용할 수 있습니다.
( 중립 문화권은 소수점 구분 기호를 변경할 수 없습니다.)
Convert.ToString(value, CultureInfo.InvariantCulture);
Asp.Net 웹 응용 프로그램 web.config
이있는 경우 전체 웹 응용 프로그램에서 동일하도록 에서 설정할 수도 있습니다.
<system.web>
...
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"
culture="en-GB"
uiCulture="en-GB"
enableClientBasedCulture="false"/>
...
</system.web>
'programing' 카테고리의 다른 글
TextInputLayout.setError ()는 오류를 제거한 후 빈 공간을 남깁니다. (0) | 2021.01.16 |
---|---|
Windows (v10)에서 Android Studio를 완전히 제거하는 방법은 무엇입니까? (0) | 2021.01.16 |
이 인증서는 알 수없는 기관에서 서명했습니다. (0) | 2021.01.16 |
Docker의 상위 시스템에서 컨테이너로 디렉토리 마운트 (0) | 2021.01.16 |
빈 IEnumerator 반환 (0) | 2021.01.16 |