2011-01-28 2 views
0

서버에 10 진수 형식 필드가있는 테이블이 있습니다.
내 웹 사이트를 로컬 컴퓨터와 서버에 게시했습니다.
서버에서는 소수 구분 기호로 .을 사용하지만 내 로컬 컴퓨터에서는 ,은 소수 구분 기호입니다.
그래서 ,javascript으로 무시했습니다.
, 대신 .javascript을 쓰고 있습니다.
그래서 문제가 있음을 알 수 있습니다.
문자열을 십진수로 파싱하는 가장 좋은 방법은 무엇입니까?asp.net mvc 현지화

p.s : 우리는 서로 다른 문화를 사용하는

나는 모델 문자열에 소수점 필드를 변경했습니다. 하지만 내가 할 수있는 일은 무엇입니까? 사이트에서 작업 할 때마다 문화를 서버 문화로 바꿔야합니까?

답변

2

당신은 클라이언트의 일치하도록 문화를 설정하지 수 :

<system.web> 
    <globalization culture="auto" uiCulture="auto" /> 
    ... 
+0

네가 맞습니다. 어제 나는 세계화에 관한 C# 책을 읽었습니다. 그리고 web.config 파일에 세계화 섹션에 대한 글이 있습니다. 나는 그것을 시도하고 그것은 나를 도왔다. 너도 Tahnks. 나를위한 최종 답변이다. – AEMLoviji

0

다른 문화권이 원인 일 수 있습니다.

당신은

Double d = 0; 
Double.TryParse(value, NumberStyles.Any, CultureInfo.InvariantCulture, out d); 

또는

Double d = Double.Parse("1,0", NumberStyles.Any, CultureInfo.InvariantCulture); 

네임 스페이스의 System.Globalization를 사용할 수 있습니다.

+0

은 도움이되지 않습니다 더합니다. 가치 "1.10"을 게시하면 나에게 "1,10"을줍니다. 하지만 내가 "110"이라는 값을 게시하면 "110"이됩니다. 두 가지 방법 모두에서 – AEMLoviji

+0

그래서 저의 손님은 CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator가 쉼표 ","로 나와 CultureInfo.InvariantCulture.NumberFormat.NumberDecimalSeparator가 점 "."이됩니다. 그러나 InvariantCulture에서 쉼표는 NumberGroupSeparator입니다. 그래서 숫자 형식을 표준화해야하거나 string.Replace를 사용해야합니다 ... – kerrubin