# return 과 소수점 연산

function의 기능

1. 긴코드 축약&#x20;
2. 파라메터 추가&#x20;
3. return



<pre class="language-javascript"><code class="lang-javascript"><strong>function fun1() {
</strong>    console.log("1");
    return 123
    console.log("2");
}

var variable = fun1();
console.log(variable);
// 결과를 예상해보자.
</code></pre>

이렇게 함수에 return을 하면 return 오른쪽의 값이 남는다.

return 은 함수종료의 뜻도 가지고 있다.

console.log("2"); 는 실행 안됨



<figure><img src="https://3814826491-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJyHOwztPxBT3bLpisjCt%2Fuploads%2F7I6HqKXMko1JD2fqyWpn%2FSE-214374de-47d8-4dde-b380-8012ab6705af.jpg?alt=media&#x26;token=3047d221-cb84-406e-ada4-d4b6a31dccb1" alt=""><figcaption></figcaption></figure>

수학에서의 함수는 입력값에 따라 출력값을 만들어내는 블랙박스&#x20;

프로그래밍에서의 함수또한 마찬가지다.



예를 들어 부가세를 구하는 함수를 만들어보자.

```javascript
function vat(price){
    return price * 0.1
  }
  console.log( vat(10000));
  console.log( vat(22222));

//출력값
1000
2222.2000000000003
```



첫번째는 정상적으로 1000이 출력됐지만 두번째는 값이 이상하다.



그 이유는 컴퓨터는 2진법으로 계산하기 때문에 일부 값들은 오류가 발생한다.&#x20;

💎해결방법

1. 반올림 (toFixed() 메서드)
2. Math
3. 외부라이브러리

```javascript
function vat(price){
    return (price * 0.1).toFixed(2);
  }
  console.log( vat(10000));
  console.log( vat(22222));

//출력값
'1000.00'
'2222.20'
```



🔥 주의사항!

toFixed 를 사용하면 결과는 String (문자열)로 반환된다.&#x20;

'숫자' > 숫자 로 변환하고 싶으면&#x20;

parseInt('1000')&#x20;

parseFloat('2222.20')&#x20;



parseInt() 는 정수로&#x20;

parseFloat() 는 실수로 변환해준다.

```javascript
'2222.20' + 1 // 결과값은 2222.201
parseFloat('2222.20')+1  // 결과값은 2223.20
```



✨ 과제. 함수에 분과 초를 차례로 파라미터로 입력하면 ms 단위로 바꿔주는 함수를 만들어보자.

예시 console.log(msCalc(1,30));   결과값은   90000

예시 console.log(msCalc(2,50));   결과값은   170000

✨ 과제. 가격을 파라미터로 입력하면 15% 할인가를 반환해주는 함수를 만들어보자.





```javascript
  function msCalc(min,sec){
    return min * 60 * 1000 + sec *1000
  }
  
  console.log( msCalc(2,50)); // 170000
  
  function salePrice(price){
    return price * 0.85
  }

  console.log(salePrice(19900)) //16915
  
  // 원단위 절사는 어떻게 할까? 
  
  function salePrice(price){
    return Math.floor( price * 0.85 /10) *10
  }

  console.log(salePrice(19900)) // 16910 
```







