가장 가까운 정수로 변환 - 반올림 없음안녕.
JMP를 처음 접하는 사람으로서 이것은 전형적인 초보자의 실수라고 확신합니다.
반올림하지 않고 십진수를 정수로 변환해야 합니다.
예 1: 값 0.5986이 column1에서 복사되어 column2에 저장됩니다. 0은 column2에 저장되어야 합니다. 대신 1이 저장됩니다.
예 2: 값 1.5986이 column1에서 복사되어 column2에 저장됩니다. 1은 column2에 저장되어야 합니다. 대신 2가 저장됩니다.
Round(x, 0)를 사용해 보았지만 숫자는 항상 반올림됩니다.
또한 column1에서 값의 서식을 지정하고 다시 숫자로 변환해 보았습니다(실패).
Column1은 다음과 같이 정의됩니다.
New Column( "Time",
Numeric,
Continuous,
Format( Best, 12),
);
Column2는 다음과 같이 정의됩니다.
New Column( "WholeSeconds",
Numeric,
Continuous,
Format( Fixed Dec, 5, 0),
);
암호:
For Each Row(
lvTime = dt:Time;
dt:WholeSeconds = Round( lvTime,0);
);
도움을 주시면 감사하겠습니다.
감사합니다.
콘텐츠 구성데이터 접근데이터 혼합 및 정리대량 맞춤화품질 및 프로세스 엔지니어링결과 공유 및 소통Re: 가장 가까운 정수로 변환 - 반올림 없음~에게 @swanthog , 스크립트에서 행 수가 다른 테이블에서 정사각형 y = x*x를 계산하기 위한 세 가지 다른 방법을 테스트했습니다.
결과는,
- 루프에 10배 더 많은 시간이 걸린다는 것
- 테이블 작업으로
- 행렬 계산은 테이블 연산보다 5배 빠릅니다.
또한 코드가 깨끗하고 오류가 적다는 점에서 각 요소를 처리하는 기능이 내장된 다른 방법(테이블 및 행렬)이 있는 경우 루프를 피하는 것이 좋습니다.
그러나 작은 스크립트의 경우 성능에 문제가 없다면 루프도 괜찮습니다. 또한 (작가의 눈에) 가독성도 중요합니다.

Re: 가장 가까운 정수로 변환 - 반올림 없음게오르그와 txnelson에게 감사합니다.
이름 확인 팁도 감사합니다. 나는 아직 문서에서 그것을 보지 못했습니다.
루프 방지에 대한 권장 사항은 성능에 부정적인 영향을 미치기 때문이라고 생각합니다. 맞습니까? 루프 대 테이블 수식을 사용하여 성능에 미치는 영향/차이는 (대략) 무엇입니까?
감사해요!
로렌스
Re: 가장 가까운 정수로 변환 - 반올림 없음이외에 @txnelson , 여기에 대한 코드가 있습니다.
보시다시피 수식을 사용하거나 해당 열에 값을 쓸 수 있습니다.
가능한 경우 테이블이 없이 루프를 수행할 수 있는 경우 루프(각 행에 대해)를 피하는 것이 좋습니다.
Names Default To Here( 1 );
cdt = New Table( "Example Floor",
add rows( 2 ),
New Column( "Time", Numeric, Continuous, Format( Best, 12 ), set values( [0.5986, 1.5986] ) ),
New Column( "WholeSeconds_formula", Numeric, Continuous, Format( Best, 12 ), Formula( Floor( :Time ) ) ),
New Column( "WholeSeconds_value", Numeric, Continuous, Format( Best, 12 ), set each value( Floor( :Time ) ) )
);

Re: 가장 가까운 정수로 변환 - 반올림 없음Floor() 및 Ceiling() 함수를 사용할 수 있습니다.