문제

두 배를 10 자리 + 4 소수점으로 변환해야합니다.

그러니 말하자 : 나는 이중 999,56을 가지고있다. 쉼표없이 00000009995600->를 얻을 수 있습니다!

내가 가진 것은 :

string.format ( "{0 : 0000000000.0000}", 값) 그러나 내가 얻는 것은 0000000999,5600입니다.

그래서 지금 내가 할 수있는 일은 쉼표를 검색하고 삭제하는 것이지만,이 특정 형식으로 형식화하는 또 다른 "깨끗한"방법이 있는지 알고 싶습니다.

감사!

도움이 되었습니까?

해결책

당신이 피하고 싶다고 말했기 때문에 String.Replace:

// avoid whacked out cultures
double value = 999.56m;
CultureInfo info = CultureInfo.GetCultureInfo("en-US");
string s = (10000 * value).ToString("00000000000000", info));
Console.WriteLine(s); // displays "00000009995600"

그러나 실제로는 아무 문제가 없습니다.

double value = 999.56m;
CultureInfo info = CultureInfo.GetCultureInfo("en-US");
string s = value.ToString("0000000000.0000", info).Replace(
    info.NumberFormat.NumberDecimalSeparator,
    String.Empty)
Console.WriteLine(s); // displays "00000009995600"

다른 팁

string.Format("{0:00000000000000}", value * 10000)

글쎄, 나는 다른 "간단한"방법이 없기 때문에 replace () 메소드를 사용하겠습니다.

다음은 Jason의 답변과 거의 같은 내 솔루션입니다.

string sep = CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator;
Console.WriteLine(String.Format(fromt, testvalue).Replace(sep, ""));

감사!

double val = 12345.6789;
return val.ToString().Split('.')[0];

당신이 곱하고 싶지 않거나 곱할 수 없다면 이것은 효과가있을 수 있습니다.

string newValue = value.Replace(",", "");
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top