반응형
말랑Cow
IT
말랑Cow
전체 방문자
오늘
어제
  • 분류 전체보기 (165)
    • Linux (33)
    • Windows (6)
    • Network (7)
    • Hardware (10)
    • Zabbix (13)
    • python (9)
    • script (0)
    • docker (16)
    • NAS (1)
    • DB (3)
    • php (33)
    • jQuery (1)
    • 정보보안기사 (0)
    • Ajax (1)
    • Javascript (21)
    • DELL (0)
    • HPE (0)
    • Secui (0)
    • AWS (2)
    • Elastic (0)
    • 보안 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Shell
  • 네트워크
  • ZABBIX
  • 자바스크립트
  • 도커
  • docker
  • CentOS
  • php 객체
  • 리눅스
  • php
  • 자빅스
  • 모니터링
  • Linux
  • JavaScript
  • 서버
  • jQuery
  • 파이썬
  • Python
  • php 클래스
  • bash
hELLO · Designed By 정상우.
말랑Cow

IT

[php 내장함수] 숫자 관련 함수
php

[php 내장함수] 숫자 관련 함수

2021. 8. 21. 00:00
반응형

1. 소수점 처리

 

실수형 자료를 정수형으로 변경 하려면 소수점을 처리해야 합니다.

일반적으로 반올림, 버림, 올림이 있습니다.

 

버림 : floor

올림 : ceil

반올림 : round

반올림은 반올림되는 정밀도와 어떤 방식으로 반올림 할 것인가에 대한 두 가지 매개변수를 갖고있습니다.

round(숫자, 정밀도, 방식)

방식에 대한 부분은 거의 사용하지 않는 것 같아 제외하였습니다.

 

코드로 확인해보겠습니다.

<?php

echo floor(3.1)."<br/>";
echo ceil(3.1)."<br/>";
echo round(3.12345, 0)."<br/>";
echo round(3.12345, 1)."<br/>";
echo round(3.12345, 2)."<br/>";
echo round(3.12345, 3)."<br/>";
echo round(3.12345, 4)."<br/>"; 

?>

반올림 round에서 정밀도의 매개변수 숫자에 대한 설명입니다.

0은 소수점 첫째자리, 1은 둘째자리, 2는 셋째자리... 에서 반올림 하는 옵션이라고 보면 되겠습니다.

 

2. 쉼표 넣기

 

숫자 출력 시 가독성을 위해 쉼표를 넣어야 할 경우가 있습니다.

이런 경우에 사용하는 함수가 number_format 입니다.

 

number_format 함수는 한 개, 두 개 혹은 네 개의 매개변수를 받습니다.

사용법은 다음과 같습니다.

 

number_format(숫자, 소수점자릿수, 소수점기호, 천 단위기호);

 

코드로 확인해보겠습니다.

 

<?php

$a = 12345.12345;

echo number_format($a)."<br/>";
echo number_format($a, 3)."<br/>";
echo number_format($a, 4, "-", "-")."<br/>";

?>

number_format($a)는 정수형을 나타냅니다. (만약 소수점 첫 번째자리가 5이상이면 반올림되어 나타납니다)

number_format($a, 3)은 소수점 네 번째자리에서 반올림한 실수를 나타냅니다. (0이 첫 번째자리이기 때문)

number_format($a, 4, "-", "-")는 소수점 다섯 번째자리에서 반올림하고 소수점과 천 단위기호를 "-" 로 지정합니다.

 

3. 최소값, 최대값, 절대값

 

이건 그냥 바로 코드로 확인하겠습니다.

 

<?php

$a = -3;
$b = 3;
$c = 33;

$adata = [$a, $b, $c];

echo min($a, $b, $c)."<br/>";
echo max($a, $b, $c)."<br/>";
echo abs($a)."<br/>";

echo "<br/>";

echo min($adata)."<br/>";
echo max($adata)."<br/>";
echo abs($adata)."<br/>";

?>

adata 라는 배열변수를 만들어서도 테스트 해 본 것입니다.

마지막에 절대값인 abs에는 배열을 넣어도 아무런 값이 출력되지 않았습니다.

한 개의 데이터만을 처리합니다.

 

4. 랜덤

 

난수를 생성하기 위해 숫자를 무작위로 뽑기 위한 함수를 확인해보겠습니다.

 

먼저 가장 기본이 되는 rand 함수입니다.

 

매개변수를 안받을수도 있고 받는다면 2개를 받는데 이것도 코드로 바로 확인해보겠습니다.

 

<?php

for($i=0 ; $i <10 ; $i++){
    echo rand()."<br/>";
}

echo "<br/>";

for($i=0 ; $i <10 ; $i++){
    echo rand(1,100)."<br/>";
}

?>

위쪽은 범위가 없는 무작위 난수생성이고, 아래는 1~100까지 범위를 지정한 난수생성입니다.

 

같은 난수생성함수인 앞에 mt만 붙은 mt_rand 라는 함수가 있습니다.

메르센느 트위스터 알고리즘을 사용하며  속도도 더 빠르다고 합니다.

 

<?php

for($i=0 ; $i <10 ; $i++){
    echo mt_rand()."<br/>";
}

echo "<br/>";

for($i=0 ; $i <10 ; $i++){
    echo mt_rand(1,100)."<br/>";
}

echo getrandmax()."<br/>";
echo mt_getrandmax();

?>

난수를 생성할 수 있는 최대값을 알아내기 위해 getrandmax 함수를 이용하여 비교해본 것 입니다.

범위는 동일하나 php7.1 이상 버전에서부터 mt_rand 함수를 지원하며 알고리즘 구현체의 오류가 수정되었다고 하니 7.1 이상버전을 사용하는 것을 권고한다고 합니다.

 

 

반응형

'php' 카테고리의 다른 글

[php 내장함수] 날짜 관련 함수  (0) 2021.08.23
[php 내장함수] 문자 관련 함수  (0) 2021.08.22
클래스 및 객체(8)  (0) 2021.08.20
클래스 및 객체(7)  (0) 2021.08.19
클래스 및 객체(6)  (0) 2021.08.18
    'php' 카테고리의 다른 글
    • [php 내장함수] 날짜 관련 함수
    • [php 내장함수] 문자 관련 함수
    • 클래스 및 객체(8)
    • 클래스 및 객체(7)
    말랑Cow
    말랑Cow

    티스토리툴바