제가 복리계산하는 프로그램을 만들어봤습니다.
계산해서 원하는 답까지는 나오지만 이상하게
실행되면서
Runtime warning (func=(main), adr=28): non-zero scale in exponent
이 에러까지 까지 출력 되더라구요
왜 이런걸까요?
```
#!/bin/bash
echo -n "원금 입력해주세요:"
read m
echo -n "빌린기간 입력해주세요:"
read k
a=`echo "scale=3; $m * 1.1^($k / 10)"|bc` // <--이 행에 2>/dev/null 을 입력하면 에러 출력은 안나오지만 기존에 왜 에러인지 ㅠ
echo "회수금액은 $a 원입니다"
```
결과 값
```
원금 입력해주세요:10000(입력값)
빌린기간 입력해주세요:30(입력값)
Runtime warning (func=(main), adr=28): non-zero scale in exponent //<-이게 에러 ㅠㅠ
회수 금액은13310.000 원입니다
```
sehongpark님의 답변
## 답변
`^` 연산자의 결과가 `integer`가 아닌경우 생기는 문제같습니다. 아래 링크에서 답을 찾아보세요.
## 참고자료
---
1. https://goo.gl/rHsskm
jes000182님의 답변
정답 알아냈습니다!!!!
```
#!/bin/bash
echo -n "원금 입력해주세요:"
read m
echo -n "빌린기간 입력해주세요:"
read k
f=$(( ${k} / 10 ))
a=`echo "scale=3; $m * 1.1 ^ $f" | bc`
echo "회수금액은 $a 원입니다"
```
sehongpark님의 답변
멋져용~~ 굳잡!