2014-02-15 4 views
1

문자열에서 데이터를로드하는 루아 프로그램이 있습니다. tonumber을 사용하여 데이터를 두 배로 변환해야합니다. 문제는 Windows 7의 cygwin에서 nil을 얻었습니다. 숫자에 .의 경우 ,이 포함되어 있으면 문제가됩니다. 어떻게 해결할 수 있을까요?10 진수 형식 및 지역 코드

n = tonumber("7.5") -> gives nil 
n = tonumber("7,5") -> gives 7.5 
+0

's의 = "7.5"; n = tonumber ((s : gsub ("[.,]", tostring (1.5) : sub (2,2)))) ' –

+0

@EgorSkriptunoff이 주석이나 답변입니까? – Schollii

+0

@Schollii - 이것은 해결책이라고 생각합니다. 그러나 나는 그것을 시험하지 않았다. –

답변

1

이 시도 :

old = os.setlocale("C") 
n = tonumber("7.5") 
os.setlocale(old)