커뮤니티
Main.GetUserValue로 불러온 값이 정확한 숫자가 되도록 부탁드립니다..
2018-02-03 16:07:34
3113
글번호 224323
아래수식에서 Main.GetUserValue("매수가격"); 불러온 값이
1900 이라면 숫자1900으로 인식 못하고 있습니다.
var 매수가격;
//스팟시작
function Main_OnStart()
{
Main.SetTimer(1, 5000)//5초, 1000이 1초
//내부파일에 변수 매수가격에 적어놓은 값을 가져와 다시 변수 aa에 저장
var aa = Main.GetUserValue("매수가격");
if (aa == "" )
{매수가격 = 0;}
else
{매수가격 = aa; }
}
중략 ~~~~~
Main.SetUserValue("매수가격",매수가격);
}
~ ~~~ 아래 함수수식 중에서
var 매수가격1= (매수가격 + 20) ;
일 때 실제 매수가격이 1900 이라면
매수가격1 =1900 + 20 =1920
이 나오지 않고 190020 이라는 값으로 나옵니다.
어떻게 해야 1920 으로 나올 수 있는지 알려 주시면 고맙겠습니다.
답변 3
불꽃기사
2018-02-01 08:14:38
GetUserValue 는 리턴값이 문자열이죠.
자바스크립트에서는 피연산자가 문자열이면 다른 피연산자도 문자열로 형변환되지요.
그래서 "1900" + 20 은 실제로는 "1900" + "20" === "190020" 이 되죠.
자바스크립트에서 문자열을 숫자로 변환하는 여러가지 방법중에
저는 parseInt, parseFloat 을 즐겨씁니다.
parseInt("1900") + 20 === 1920
이 되겠죠.
자바스크립트 기본적인 사용법은 그냥 검색하시는 게 나을 거에요.
(또 그게 익히시는데 더 도움이 됩니다.)
스팟 게시판은 답변이 상당히 늦게 달리거든요.
> 종호 님이 쓴 글입니다.
> 제목 : Main.GetUserValue로 불러온 값이 정확한 숫자가 되도록 부탁드립니다..
> 아래수식에서 Main.GetUserValue("매수가격"); 불러온 값이
1900 이라면 숫자1900으로 인식 못하고 있습니다.
var 매수가격;
//스팟시작
function Main_OnStart()
{
Main.SetTimer(1, 5000)//5초, 1000이 1초
//내부파일에 변수 매수가격에 적어놓은 값을 가져와 다시 변수 aa에 저장
var aa = Main.GetUserValue("매수가격");
if (aa == "" )
{매수가격 = 0;}
else
{매수가격 = aa; }
}
중략 ~~~~~
//체결응답
function Main_OnNotifyFill(NotifyFill)
{
//진입 체결가 저장
if (NotifyFill.orderNum == BBNum)
{
매수가격 = NotifyFill.fillPrice;
Main.SetUserValue("매수가격",매수가격);
}
~ ~~~ 아래 함수수식 중에서
var 목표매수가격= (매수가격 + 20) ;
일 때 실제 매수가격이 1900 이라면
목표매수가격 =1900 + 20 =1920
이 나오지 않고 190020 이라는 값으로 나옵니다.
어떻게 해야 1920 으로 나올 수 있는지 알려 주시면 고맙겠습니다.
종호
2018-02-05 19:10:24
불꽃기사님 정확한 답을 주셔서 정말 감사합니다.
이상하게 에러가 나서 오랫동안 고생만 숱하게 하다가 이제 원인을 겨우 알게
돠어서 질문을 드렸는데 이렇게 빨리 속시원하게 문제를 풀게 되어서 감사드립니다.
불꽃기사님 복 많이 받으시길 바랍니다.
자바함수가 안되어서 아래 내용을 예스스팟 Q%A 에서 찾아서 해결했습니다.
아래는 Q%A 내용문입니다.
예스스팟은 자바스크립트 입니다.
자바언어와 다르므로 함수 사용시 유의하시기 바랍니다.
자바스크립트 기본제공 함수중에 String(),Number()함수를 이용해서
숫자를 문자열로 문자열은 숫자로 변경하시고 계산을 하시면 됩니다
불꽃기사님 덕분에 빨리 해결되었습니다. 감사합니다.
불꽃기사
2018-02-06 07:36:47
parseInt, parseFloat 함수도 "자바스크립트" 내장함수입니다. ^^
> 종호 님이 쓴 글입니다.
> 제목 : Re : 지나가다...
> 불꽃기사님 정확한 답을 주셔서 정말 감사합니다.
이상하게 에러가 나서 오랫동안 고생만 숱하게 하다가 이제 원인을 겨우 알게
돠어서 질문을 드렸는데 이렇게 빨리 속시원하게 문제를 풀게 되어서 감사드립니다.
불꽃기사님 복 많이 받으시길 바랍니다.
자바함수가 안되어서 아래 내용을 예스스팟 Q%A 에서 찾아서 해결했습니다.
아래는 Q%A 내용문입니다.
예스스팟은 자바스크립트 입니다.
자바언어와 다르므로 함수 사용시 유의하시기 바랍니다.
자바스크립트 기본제공 함수중에 String(),Number()함수를 이용해서
숫자를 문자열로 문자열은 숫자로 변경하시고 계산을 하시면 됩니다
불꽃기사님 덕분에 빨리 해결되었습니다. 감사합니다.
이전글