Open In App

Can we use % operator on floating point numbers?

Improve
Improve
Like Article
Like
Save
Share
Report

Predict the output of following program: Can % be used with floating point numbers in C++? 

CPP




#include <iostream>
int main()
{
    float f = 9.9f, m = 3.3f;
    float c = f % m;  // LINE 5
    std::cout << c;
    return 0;
}


The above program fails in compilation and compiler report the following error in line 5: Output:

invalid operands of types 'float' and 'float' 
to binary 'operator%' 

Time Complexity: O(1)

Space Complexity: O(1)

% operator cannot be used with floating point numbers in C & C++. What about Java and C#? This behavior is different in Java & C#. % operator can be used on floating point numbers in these languages. Consider following example of Java program: 

Java




class Test
{
    public static void main(String args[])
    {
        float f = 9.9f, m = 3.3f;
        float c = f % m;
        System.out.println(c);
    }
}


Output:

3.2999997

Same way try this C# program. It works fine: 

C#




using System;
class Test
{
    public static void Main()
    {
        float f = 9.9f, m = 3.3f;
        float c = f % m;
        Console.WriteLine(c);
    }
}


Output:

3.3



Last Updated : 18 Apr, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads