Ruby의 디지털 데이터 유형

Ruby에서 모든 프로그래밍 언어와 마찬가지로 숫자는 일반적인 계산에 사용됩니다.간단하게 말하면 모든 유형의 수치 데이터는'numeric'데이터 유형 클래스에 수집된다.그것 자체에는 몇 개의 부류가 있다.
Numeric 클래스에는 다음과 같은 하위 클래스가 있습니다.

숫자

  • 정수(Fixnum 및 Bignum)
  • -Fixnum(3, 중간 크기 정수/정수)
  • -Bignum(11111111, 큰 숫자)
  • 부동점(5.0, 정밀도가 낮은 비정수/부동점)
  • 복수(1+3i, 수학에 사용되는 복수)
  • 유리(2/3, 제법관계 표시)
  • BigDecimal(3.0, 고정밀 비정수/부동 소수점)
  • 수치를 깊이 있게 계산하고 싶지 않으면, 이 하위 클래스와 그 관계에 지나치게 관심을 가질 필요가 없습니다.일상적인 인코딩 작업에서, 당신은 심지어 이런 종류에 주의하지 않을 것입니다.만약 너무 높은 정밀도를 계산하거나 매우 큰 숫자를 사용하고 있다면, 문서 페이지로 이동해서 수치 종류에 대한 더 많은 내용을 읽을 수 있습니다.
    예를 들어 국가 예산을 계산하는 소프트웨어를 개발하고 있다고 가정하면 이 소프트웨어는 한 푼의 지출을 계산한다.이 경우 "Float"클래스만 사용할 수 없으며 "BigDecimal"클래스의 요소를 사용해야 합니다.
    예를 하나 더 들겠습니다.만약 당신이 POS 소프트웨어를 개발하여 매일 매출액을 관리하고 점포의 매일, 매달 및 연간 보고서를 계산하는 데 사용하고 있다고 가정하십시오.이 소프트웨어에서 나는 "Fixnum"클래스의 번호가 충분하다고 생각한다.그러나 만약 당신이 전국적으로 판매하고 심지어 대량의 각종 상품 수출입을 처리하는 회사를 위해 소프트웨어를 개발하고 있다면, 당신은 반드시'빅num'류의 숫자를 사용해야 한다.고려해야 할 또 다른 것은 변수에 값을 부여할 때 루비는 "Fixnum"이든 "Bignum"이든 이 수치 변수의 종류를 자동으로 설정합니다.그러니까 절대 걱정하지 마세요.
    "class"방법을 사용하여 화면에 출력하면 숫자나 변수의 종류를 찾을 수 있습니다.
    3.2.class
    => Float
    4.class
    => Fixnum
    
    만약 이 숫자를 음수나 양수로 하고 싶다면, 수치 앞에 "-"번호를 추가하기만 하면 된다.

    사용 가능한 운영자


    이제 수치와 함께 사용할 수 있는 연산자를 살펴보겠습니다.
  • +(덧셈)
  • -(감법)
  • *(승률)
  • /(지부)
  • % (제곱셈 연산의 잔여 찾기)
  • <(작음)
  • <=(소작 또는 동일)
  • > (보다)
  • >=(크거나 같음)
  • = = (숫자가 동일한지 확인)
  • **(멱 연산, 횟수)
  • # The strangest operator here might be the '%'.
    # remainder of 5 divided by 2 is => 1
    # remainder of 13 divided by 5 is => 3
    puts 5%2  # Output => 1
    puts 13%5 # Output => 3
    # 2 to the power of 3 =>  2^3 = 8
    puts 2**3 # Output => 8.
    
    다음은 수치를 다른 값 또는 다른 유형의 수치 클래스로 변환하는 방법입니다.
  • to_i/to_int(값을 정수로 변환)
  • _f(값을 부동 소수점 값으로 변환)
  • _s(문자열 값으로 변환)
  • price = 4
    # We usually use float value for a price, 
    # to show cents as well.
    # So, let's convert it to "Float" before outputting.
    # To output it onto the screen, let's convert it to String
    
    puts "Price of product is = " + price.to_f.to_s
    
    이렇게 하면 화면에서 출력할 수 있도록 정수치를 부동점으로 변환한 다음 문자열로 변환합니다.
    age = 4
    # We always use integer for an age, 
    # The input is read as a string initially.
    # So let's convert input value to "Integer" class.
    # To be able to output it onto the screen,
    # let's convert it to a String value. 
    
    puts "I am "+ age.to_i.to_s + " years old!"
    
    이 코드 세션에서, 우리는 값을 문자열에서 정수로 변환한 다음, 다시 정수에서 문자열로 변환합니다.
    우리가 또 기억해야 할 것은 재사의 운영 세부 사항이다.나눗셈(제수 또는 상)에 사용되는 두 값이 모두 정수 클래스 값이면 결과도 정수입니다.나눗셈의 값이 Float 클래스 인스턴스이면 결과도 Float 유형의 값이 됩니다.예:
    # Both of the values are integer.
    puts 7/2  # Output is 3. You might have expected 3.5
    # Only one of the values is an integer.
    puts 7.0/2  # Output is => 3.5
    puts 7/2.0  # Output is => 3.5
    # Let's use "to_f" function.
    puts 7/2.to_f  # Output is => 3.5
    
    루비에게는 위로가 되는 도구가 더 많다."수천"개의 값 나누기를 수치에 삽입하려면 이렇게 할 수 있습니다.이렇게 하면 숫자를 쉽게 읽을 수 있다.루비는 자동으로 해당 수치로 변환됩니다.
    # Outputting a huge numer.
    puts 5_300 # Output => 5300
    puts 3_000_950  # Output => 3000950.
    
    이것은 커다란 장점이 아닐 수도 있지만, 사용자에게 재미있는 기교를 제공하여 더욱 많은 프로그래밍 언어의 초보자를 끌어들였다.

    내장 방법 (수치 클래스)


    이제 수치에 사용할 수 있는 내장 장관을 살펴보자.

    설령


    "심지어?"방법은 우리가 처리하고 있는 값이 짝수인지 검사한다.만약 그렇다면 "true"를, 그렇지 않으면 "false"를 되돌려줍니다.
    15.even? #=> false
    4.even?  #=> true
    

    괴상하다


    "이상해요?"방법은 우리가 처리하고 있는 값이 홀수인지 검사한다.만약 그렇다면 "true"를, 그렇지 않으면 "false"를 되돌려줍니다.
    15.odd? #=> true
    4.odd?  #=> false
    

    천장


    ".ceil"방법은 "Float"유형의 값을 값 자체보다 더 가까운 정수에 반올립니다.
    8.3.ceil #=> 9
    6.7.ceil #=> 7
    

    바닥


    ".floor"방법은 "Float"유형의 값을 값 자체보다 작은 가장 가까운 정수로 반올립니다.
    8.3.floor #=> 8
    6.7.floor #=> 6
    

    Pred 회사


    ".pred"방법은 우리가 응용한 실제 값보다 작은 정수를 되돌려줍니다.
    15.pred #=> 14
    2.pred  #=> 1
    (-4).pred #=> -5
    

    다음


    ".next"방법은 우리가 응용한 실제 값보다 숫자가 많은 정수를 되돌려줍니다.
    15.next #=> 16
    2.next  #=> 3
    -4.next #=> -3
    

    결론



    루비 숫자에 대한 글은 여기서 끝냅니다.만약 당신이 보충할 것이 있거나 약간의 오류를 발견하면 평론에서 저에게 알려주세요.
    이 글에 대한 어떠한 피드백도 주저 없이 써 주십시오.나는 너의 생각과 건의를 듣고 매우 기뻤다.
    본문을 읽거나 훑어보는 데 시간을 내주셔서 감사합니다.나는 이것이 가치가 있기를 바란다.행운을 빕니다.

    좋은 웹페이지 즐겨찾기