몇 가지 예 / 방법을 시도했지만 예상 된 결과가 없습니다.
나는 끈에 저장
// Contains in my case "EUR849.00" so I want to get only the proper number.
string properPrice = price[0].Substring(3);
이제이 문자열 849.00
을 float 로 구문 분석하려고 시도 하고이 형식을 기대합니다 849,00
.
I합니다 (대체, 특정의 불변 문화 몇 가지 예제를 시도 .
하여 ,
다음 사용하여 구문 분석 float.Parse
하지만 일을하지 않습니다).
내가하는 방식은 다음과 같습니다.
float.TryParse(properPrice, NumberStyles.Any, CultureInfo.InvariantCulture, out floatPrice);
결과는 84900.0
입니다. 어떤 제안? Tx.
문자열 형식이 현재 문화권의 형식을 사용하지 않는 경우 구문 분석 할 때만 문화권을 지정하면됩니다. 따라서 문화에서 쉼표 대신 소수점을 사용하는 경우이를 지정할 필요가 없습니다.
현재 문화권에서 소수를 사용하는 경우 값을 쓸 때 쉼표를 사용하는 문화권을 지정해야합니다. 아래 예에서는 쉼표를 사용하는 독일 문화를 선택했습니다.
또한 통화를 다루는 것처럼 보이므로 부동 소수점 대신 소수점을 사용해야합니다. http://msdn.microsoft.com/en-us/library/364x0z75.aspx
string val = "EUR849.00";
decimal num = Decimal.Parse(val.Substring(3));
string expected = num.ToString(CultureInfo.GetCultureInfo("de-DE"));
Console.WriteLine(expected);
플로트로 업데이트 :
string val = "EUR849.00";
float num = Single.Parse(val.Substring(3));
string expected = num.ToString("0.00", CultureInfo.GetCultureInfo("de-DE"));
Console.WriteLine(expected);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다