아래수식에서 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
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 으로 나올 수 있는지 알려 주시면 고맙겠습니다.
불꽃기사님 정확한 답을 주셔서 정말 감사합니다.
이상하게 에러가 나서 오랫동안 고생만 숱하게 하다가 이제 원인을 겨우 알게
돠어서 질문을 드렸는데 이렇게 빨리 속시원하게 문제를 풀게 되어서 감사드립니다.
불꽃기사님 복 많이 받으시길 바랍니다.
자바함수가 안되어서 아래 내용을 예스스팟 Q%A 에서 찾아서 해결했습니다.
아래는 Q%A 내용문입니다.
예스스팟은 자바스크립트 입니다.
자바언어와 다르므로 함수 사용시 유의하시기 바랍니다.
자바스크립트 기본제공 함수중에 String(),Number()함수를 이용해서
숫자를 문자열로 문자열은 숫자로 변경하시고 계산을 하시면 됩니다
불꽃기사님 덕분에 빨리 해결되었습니다. 감사합니다.
parseInt, parseFloat 함수도 "자바스크립트" 내장함수입니다. ^^
> 종호 님이 쓴 글입니다.
> 제목 : Re : 지나가다...
> 불꽃기사님 정확한 답을 주셔서 정말 감사합니다.
이상하게 에러가 나서 오랫동안 고생만 숱하게 하다가 이제 원인을 겨우 알게
돠어서 질문을 드렸는데 이렇게 빨리 속시원하게 문제를 풀게 되어서 감사드립니다.
불꽃기사님 복 많이 받으시길 바랍니다.
자바함수가 안되어서 아래 내용을 예스스팟 Q%A 에서 찾아서 해결했습니다.
아래는 Q%A 내용문입니다.
예스스팟은 자바스크립트 입니다.
자바언어와 다르므로 함수 사용시 유의하시기 바랍니다.
자바스크립트 기본제공 함수중에 String(),Number()함수를 이용해서
숫자를 문자열로 문자열은 숫자로 변경하시고 계산을 하시면 됩니다
불꽃기사님 덕분에 빨리 해결되었습니다. 감사합니다.