2014-03-25 4 views
3

비주얼 스튜디오 늘는 (. 입력 문자열이 올바른 형식이 아니었다)

오류 진수 내 문자열을 변환 C# .NET을 진수 문자열을 변환하지 않음 : 입력 문자열의 형식이 잘못되었습니다.

코드 :

string test = "123.95"; 
decimal test1 = decimal.parse(test); // string being an int "123" doesnt cause this 

또한 Convert.toDecimal (테스트); 그냥 똑같아.

편집 : 해답을 주셔서 감사합니다. 어떻게 십진법이 작동하는지 온라인에서 찾고 있었고 모든 사람들이 '.'을 사용하고있었습니다. 아니라 ','. 죄송하지만 나는이 게시물이 얼마나 어리석은지를 알고 있습니다. 그리고 answeres 다시 주셔서 감사합니다 :

+0

호기심에서 "123,95"를 구문 분석 할 수 있습니까? – Vlad

+2

Jon Skeet이 질문을 회신하지 않으 셨습니다. – DSF

+0

방금 ​​해 보았습니다. 코드화 된 이후로 시간이 걸렸습니다. 그래서 십진법이 어떻게 작동했는지 온라인에서보고 있었고 '.' 어디에나. – Pepps

답변

8

가능성이있어 귀하의 현재 문화는 소수 구분 기호로 .을 사용하지 않습니다. -

var test1 = "123.95"; 
decimal result; 
decimal.TryParse(test1, out result); 

string test = "123.95"; 
var culture = new CultureInfo("en-US"); 
decimal test1 = decimal.Parse(test, culture); 
1

사용이 코드 : 당신은 당신이 원하는 특정 형식을 사용하는 문화를 지정할 수 있습니다, 또는

using System.Globalization; 

... 

string test = "123.95"; 
decimal test1 = decimal.Parse(test, CultureInfo.InvariantCulture); 

: 당신이 문자열을 구문 분석 할 때 invariant culture를 지정하십시오 그것은 나를 위해 일했습니다.

관련 문제