Skip to content
Related Articles

Related Articles

Improve Article

Can we use % operator on floating point numbers?

  • Difficulty Level : Easy
  • Last Updated : 02 Jun, 2017

Predict the output of following program:

Can % be used with floating point numbers in C++?




#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%' 

% 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:




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:




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

This article is contributed by Meet Pravasi. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above

Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.



My Personal Notes arrow_drop_up
Recommended Articles
Page :