0으로 시작하고 0을 유지하는 숫자의 문자를 파싱안녕하세요,
데이터 테이블의 한 열에서 오는 값의 벡터를 만들고 싶습니다. 이러한 값 중 일부는 숫자 0부터 시작합니다. 구문 분석 명령을 사용할 때 숫자의 시작 부분에서 0을 자릅니다. 열은 문자 열로 정의됩니다. 내가 사용하고있는 스크립트는 eval (parse (column (DTI, "bar_pen") [i]))))); 이 작업을 수행하고 처음 0을 유지하려면 어떻게해야합니까?
감사,
토바
다시 : 0으로 시작하고 초기 0을 유지하는 숫자의 문자를 구문 분석고마워, 내가 찾은 것보다 훨씬 깔끔한 해결책이다 ...
다시 : 0으로 시작하고 초기 0을 유지하는 숫자의 문자를 구문 분석dt = New Table( "Untitled",
Add Rows( 3 ),
New Column( "Bar_Pen", Character, Set Values( {"0001", "9999", "0900"} ) )
);
list = dt:Bar_pen << getvalues;
show(list); // {"0001", "9999", "0900"};
v = dt:Bar_Pen[3];
show(v, parse(v), char(parse(v))); // "0900", 900, "900"
문자 데이터를 코드로 변환하는 구문 분석을 수행 할 필요가 없을 수도 있습니다 (대부분 숫자 일뿐입니다). 그런 다음 구문 분석 된 코드를 평가할 필요가 없으며 평가 된 대답을 변환 할 필요가 없습니다. 숫자)를 문자열로 되돌립니다. 데이터 입력 오류로 인해 값을 정리해야하는 경우 eval / parse가 작동하는 것처럼 보일 수 있지만 장난스러운 사용자가 잘못된 코드를 테이블에 넣으면 실패합니다.
다시 : 0으로 시작하고 초기 0을 유지하는 숫자의 문자를 구문 분석이것이 결국 나를 위해 일한 것입니다.
반복 ( "0", 4 - 길이 (char (eval (parse (column (DTI, "Bar_Pen") [[i])))))))) || char (eval (parse (column (DTI, "Bar_Pen") [i]))));