Skip to content
geeksforgeeks
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Tutorials
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
  • Practice
    • Build your AI Agent
    • GfG 160
    • Problem of the Day
    • Practice Coding Problems
    • GfG SDE Sheet
  • Contests
    • Accenture Hackathon (Ending Soon!)
    • GfG Weekly [Rated Contest]
    • Job-A-Thon Hiring Challenge
    • All Contests and Events
  • PHP Tutorial
  • PHP Exercises
  • PHP Array
  • PHP String
  • PHP Calendar
  • PHP Filesystem
  • PHP Math
  • PHP Programs
  • PHP Array Programs
  • PHP String Programs
  • PHP Interview Questions
  • PHP GMP
  • PHP IntlChar
  • PHP Image Processing
  • PHP DsSet
  • PHP DsMap
  • PHP Formatter
  • Web Technology
Open In App
Next Article:
PHP | bcpow() Function
Next article icon

PHP | bccomp() Function

Last Updated : 19 Apr, 2018
Comments
Improve
Suggest changes
Like Article
Like
Report

The bccomp() function in PHP is an inbuilt function and is used to compare two arbitrary precision numbers. This function accepts two arbitrary precision numbers as strings and returns the result of comparison of the two numbers after comparing them upto a specified precision.

Syntax:

int bccomp ( $num_str1, $num_str2, $scaleVal)

Parameters: This function accepts three parameters as shown in the above syntax and explained below.

  • $num_str1: This parameter is of string type and represents the left operand or one of the two numbers among which we want to perform the comparison. This parameter is mandatory.
  • $num_str2: This parameter is of string type and represents the right operand or one of the two numbers among which we want to perform the comparison. This parameter is mandatory.
  • $scaleVal: This parameter is of int type and is optional. This parameter tells the number of digits after decimal places that will be used in comparison. The default value of this parameter is zero.

Return Value: This function returns an integral value based on the comparison of the two numbers $num_str1 and $num_str2. If both of the numbers are equal then this function returns zero. If $num_str1 is greater than $num_str2 this function returns 1 and if $num_str1 is less than $num_str2 this function returns -1.

Examples:

  Input:  $num_str1 = 3.22, $num_str2 = 3  Output: 0  Explanation: Since the parameter $scaleVal is not   specified so no digits after decimal is used in   comparison. So, the value of first parameter which   is 3.22 will be treated as 3 and hence both   parameters are equal.    Input:  $num_str1 = 3.222, $num_str2 = 3, $scaleVal = 2  Output: 1    Input:  $num_str1 = 3, $num_str2 = 3.222, $scaleVal = 2  Output: -1  

Below programs illustrate the bccomp() function in PHP :

Program 1:




<?php
// PHP program to illustrate bccomp() function
   
// input numbers
$num_str1 = "3.12";  
$num_str2 = "3";  
  
// calculates the comparison of the two 
// numbers when $scaleVal is not specified
$res = bccomp($num_str1, $num_str2, 2);
  
// both parameters are equal
echo $res;
   
?>
 
 

Output:

  0  

Program 2:




<?php
// PHP program to illustrate bccomp() function
   
// input numbers
$num_str1 = "3.12";  
$num_str2 = "3";  
  
// scale value
$scaleVal = 2;
  
// calculates the comparison of the two 
// numbers when $scaleVal is specified
$res = bccomp($num_str1, $num_str2, $scaleVal);
  
// first parameter is greater than second
echo $res;
   
?>
 
 

Output:

  1  

Program 3:




<?php
// PHP program to illustrate bccomp() function
   
// input numbers
$num_str1 = "3";  
$num_str2 = "3.12";  
  
// scale value
$scaleVal = 2;
  
// calculates the comparison of the two 
// numbers when $scaleVal is specified
$res = bccomp($num_str1, $num_str2, $scaleVal);
  
// first parameter is smaller than second
echo $res;
   
?>
 
 

Output:

  -1  

Reference:
http://php.net/manual/en/function.bccomp.php



Next Article
PHP | bcpow() Function

B

barykrg
Improve
Article Tags :
  • PHP
  • Web Technologies
  • PHP-bc

Similar Reads

  • PHP compact() Function
    The compact() function is an inbuilt function in PHP and it is used to create an array using variables. This function is the opposite of the extract() function. It creates an associative array whose keys are variable names and their corresponding values are array values. Syntax: array compact("varia
    2 min read
  • PHP | bcpow() Function
    The bcpow() function in PHP is an inbuilt function and is used to calculate the value of an arbitrary precision base number raised to another exponent number. This function accepts two arbitrary precision numbers as strings and returns the base number raised to exponent after scaling the result to a
    2 min read
  • PHP | bcmul() Function
    The bcmul() function in PHP is an inbuilt function and is used to multiply two arbitrary precision numbers. This function accepts two arbitrary precision numbers as strings and returns the multiplication of the two numbers after scaling the result to a specified precision. Syntax: string bcmul ( $nu
    2 min read
  • PHP | bcmod() Function
    The bcmod() function in PHP is an inbuilt function and is used to calculate modulus of an arbitrary precision numbers. This function accepts an arbitrary precision number and returns the modulus of that number after scaling the result to a specified precision. Syntax: string bcadd ( $dividend, $modu
    2 min read
  • PHP cos( ) Function
    Trigonometry is an important part of mathematics and PHP’s math functions provides us with some functions which are very useful for calculations involving trigonometry. The cos()function in PHP is used to find the cosine of a number. The cos() function returns a float value between -1 and 1, which r
    2 min read
  • PHP | bcpowmod() Function
    The bcpowmod() function in PHP is an inbuilt function and is used to raise an arbitrary precision base number to another exponent number reduced by a specified modulus. This function accepts three arbitrary precision numbers as strings and returns the base number raised to exponent modulo under a nu
    2 min read
  • PHP acos( ) Function
    Trigonometry is an important part of mathematics and PHP’s math functions provides us with some functions which are very useful for calculations involving trigonometry. One of such function is acos() function. The acos() function in PHP is used to find the arc cosine of a number in radians. We alrea
    2 min read
  • PHP cosh( ) Function
    The cosh() function is a builtin function in PHP and is used to find the hyperbolic sine of an angle. The hyperbolic cosine of any argument arg is defined as, (exp(arg) + exp(-arg))/2 Where, exp() is the exponential function and returns e raised to the power of argument passed to it. For example exp
    2 min read
  • PHP | bcscale() Function
    The bcscale() function is an inbuilt function in PHP. It sets the default scale parameters for all bc math function calls. When we call the function bcscale() in a program, the parameter passed in this function thus becomes the default scale factor which by default is zero. Syntax: int bcscale($scal
    2 min read
  • PHP | gmp_com() Function
    The gmp_com() is an inbuilt function in PHP which is used to calculate the one's complement of a GMP number(GNU Multiple Precision : For large numbers). Syntax: gmp_com($num) Parameters: This function accepts a GMP number $num as a mandatory parameter as shown in the above syntax. This parameter can
    2 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences