소수점 아래 처음으로 0이 아닌 숫자 찾기
정규표현식을 활용해 진행하며 소수점 자릿수가 다양한 경우에 활용할 수 있는 방법입니다.
일상생활에서 접하는 지표 중 환율이나 주가 등 소수점 단위까지 표기하는 상황에서 소수점 자릿수가 일정하지 않아 특정 자릿수로 반올림하여 표현하기 어려운 경우가 존재합니다.
새로 생겨난 지표의 경우 아직 통상적으로 적용되는 규칙이 없어 각기 다른 자릿수로 표현되는 상황이 많으며, 비교적 생성 시기가 짧은 코인 시장에서 특히 이러한 소수점 자릿수가 서로 다른 경우가 많이 보여집니다.

실제로 대부분의 거래소에서는 가독성을 위해 모든 소수점을 표시하지 않고 적절히 반올림하여 보여주고 있으며, Kraken 거래소의 경우 1보다 작은 가격의 종목에 대하여 소수점 아래 처음으로 0이 아닌 숫자 2개까지만 보여주고 있습니다.
이번 포스팅에서는 몇 개의 동전 주 가격을 대상으로 Kraken 거래소에서 사용하는 방식과 동일하게, 소수점 아래 처음으로 0이 아닌 숫자 2개까지만 보여주는 예시로 소수점 자릿수를 처리하는 방법에 대하여 소개해 드리겠습니다.
Step-by-Step: 소수점 아래 처음으로 0이 아닌 숫자 2개 보여주기
다음과 같이 4개의 종목에 대하여 소수점 자릿수 처리하는 방법을 진행해보도록 하겠습니다.

- 코인의 가격 데이터를 연결합니다. Investing.com에서 제공하는 데이터를 사용하였으며, 이번 포스팅에서 사용한 데이터 파일은 다음과 같습니다. (가격은 달러(
$
) 기호를 포함한 문자열로 되어 있습니다.)
- 가격(
Price
) 필드에서 처음 0이 아닌 숫자를 찾아내는 정규표현식 계산식을 작성합니다.

$
, 0
또는 마침표(.
)가 아닌 것 중 처음 발생하는 값을 찾는 구문으로 다음과 같은 결과를 얻을 수 있습니다.

[First Non-Zero]
계산식의 결과로 얻은 숫자의 위치를 찾는 계산식을 생성합니다.

찾은 위치를 소수점 자릿수로 변환하기 위해, 맨 앞에 위치하는 3자리($0.)를 빼주며, 결과는 다음과 같습니다. Dogecoin은 소수점 첫 번째 자리, Pepe는 소수점 다섯 번째 자리에서 0이 아닌 숫자가 발생했음을 의미합니다.

- 문자열로 이루어진 가격(
Price
) 필드를 실수로 변환하고,[Find Digit Number]
계산식을 통해 찾은 자릿수보다 하나 더 큰 값으로 반올림하여 최종적으로 변환된 가격을 구하는 계산식을 작성합니다.

계산식에 서식을 지정하지 않으면 자동으로 모든 값이 같은 자릿수로 맞춰지므로 다음과 같이 서식을 지정합니다.

서식에서 #
은 존재하는 숫자만 표기되므로, 아래와 같이 최종적으로 원하는 결과를 만들어 낼 수 있습니다.
