금융계산기 공유 링크, 계산 신뢰도를 지키는 4가지 설계
금융계산기 결과를 링크로 공유할 때 숫자가 바뀌지 않도록 입력값 보존, 공식 버전, 기준일 표기를 설계하는 방법을 실제 계산 예시로 정리했어요.
대출이자를 계산해서 가족에게 링크로 보냈는데, 상대방 화면에는 다른 금액이 뜬다면 어떨까요. 그 순간부터 계산기를 믿기 어려워져요. 숫자를 다루는 도구에서 공유 링크는 결과를 옮기는 통로라서, 링크를 건너는 동안 값이 조금이라도 바뀌면 신뢰가 무너져요.
플랜씨처럼 로그인 없이 쓰는 계산기는 결과를 계정에 저장해 둘 수 없어요. 그래서 남에게 결과를 넘길 수단은 사실상 URL 하나뿐이에요. 이 링크가 계산을 그대로 옮기려면 무엇을 지켜야 하는지, 직접 만들어 보면서 확인한 내용을 정리해 볼게요.
1. 결과가 아니라 입력값을 담아요
링크에 "월 상환액 506,689원"을 넣으면 받는 사람은 그 숫자가 어디서 나왔는지 확인할 방법이 없어요. 원금, 금리, 기간, 상환 방식을 담아 두고 열 때마다 다시 계산하는 쪽이 맞아요. 받은 사람이 금리만 바꿔 보는 것도 가능해져요.
2. 파싱에서 소수점이 사라지지 않게 해요
가장 많이 터지는 곳은 숫자를 읽어 오는 코드예요. 테스트해 보면 parseInt("4.5")는 4를 돌려주고, Number("100,000,000")은 NaN이 돼요.
const params = new URLSearchParams(location.search);
const rate = Number(params.get("rate")); // parseInt를 쓰면 4.5가 4로 바뀌어요
if (!Number.isFinite(rate)) showInputError("금리");이 차이가 실제로 얼마나 큰지 1억 원, 30년(360개월) 원리금균등 조건으로 돌려 보니 이랬어요. 연 4.5%면 월 약 50만 6,689원인데, 금리가 4%로 잘려 읽히면 월 약 47만 7,415원이 나와요. 한 달에 약 2만 9,274원 차이라서, 받은 사람은 링크를 만든 사람과 전혀 다른 판단을 하게 돼요. 쉼표는 공유 전에 빼고, 읽을 때 형식이 맞지 않으면 조용히 기본값을 넣지 말고 어느 칸이 틀렸는지 알려 줘야 해요.
3. 공식 버전을 함께 담아요
계산 로직은 고칠 일이 생겨요. 반올림 위치를 바꾸거나 상환 방식을 하나 추가하는 정도로도 예전 링크의 결과가 달라져요. 그래서 v=1 같은 공식 버전을 같이 넣어 두는 게 좋아요. 적용해 봤더니, 버전이 다른 링크를 열 때 "이 링크는 이전 계산 방식으로 만들어졌어요"라고 알려 주기만 해도 혼란이 크게 줄었어요.
4. 기준일이 있는 계산은 기준을 드러내요
연봉 실수령액처럼 세율과 공제 기준이 해마다 바뀌는 계산은 같은 입력이어도 기준 연도가 다르면 결과가 달라요. 링크에 기준 연도를 넣고 화면에도 "몇 년 기준"이라고 표시해 두면, 몇 달 뒤에 열어 본 사람도 숫자가 왜 다른지 바로 이해할 수 있어요.
- 입력값만 담기
- 엄격한 숫자 파싱
- 공식 버전 표기
- 기준 연도 표시
정리
공유 링크 설계는 3단계 정도로 끝나요. 입력을 담고, 엄격하게 읽고, 버전과 기준을 남기는 거예요. 직접 링크를 몇 개 만들어 다른 브라우저에서 열어 보는 데 10분이면 충분하니, 계산기를 만들고 있다면 공유 기능을 붙이기 전에 한 번 꼭 확인해 보세요. 라이프케어로그도 플랜씨의 계산 결과를 다룰 때 이 기준을 출발점으로 삼고 있어요.
관련 글
댓글
아직 댓글이 없어요. 첫 댓글을 남겨주세요.