![내 계산은 기본적으로 정수(KSH)로 변환됩니다.](https://linux55.com/image/194848/%EB%82%B4%20%EA%B3%84%EC%82%B0%EC%9D%80%20%EA%B8%B0%EB%B3%B8%EC%A0%81%EC%9C%BC%EB%A1%9C%20%EC%A0%95%EC%88%98(KSH)%EB%A1%9C%20%EB%B3%80%ED%99%98%EB%90%A9%EB%8B%88%EB%8B%A4..png)
oracle 명령의 출력인 변수에 10진수 값을 할당하고 있습니다. 변수를 에코하면 십진수 값이 표시됩니다.
예를 들어 echo $a는 .7214로 표시되지만 이에 대해 계산을 하면 기본값은 정수입니다.
예를 들어 b=$((a+(a*20/100))) 는 1로 반올림됩니다.
정수로 반올림되는 것을 어떻게 피할 수 있습니까?
답변1
나는 다음을 생각했다:
b=$( echo "$a+($a*0.02)" | bc )
oracle 명령의 출력인 변수에 10진수 값을 할당하고 있습니다. 변수를 에코하면 십진수 값이 표시됩니다.
예를 들어 echo $a는 .7214로 표시되지만 이에 대해 계산을 하면 기본값은 정수입니다.
예를 들어 b=$((a+(a*20/100))) 는 1로 반올림됩니다.
정수로 반올림되는 것을 어떻게 피할 수 있습니까?
나는 다음을 생각했다:
b=$( echo "$a+($a*0.02)" | bc )