Проблема при сравнении чисел с плавающей запятой и как их правильно сравнивать?
Опубликовано: 2 Декабря, 2021
В этой статье мы увидим, в чем проблема при сравнении чисел с плавающей запятой, и обсудим правильный способ сравнения двух чисел с плавающей запятой.
В чем обычно проблема при сравнении чисел с плавающей запятой?
Давайте сначала сравним два числа с плавающей запятой с помощью оператора отношения (==) .
Пример: использование «==» для сравнения
CPP
// C++ program to compare // floating point numbers #include <bits/stdc++.h> using namespace std; void compareFloatNum( double a, double b) { if (a == b) { cout << "The numbers are equal" << endl; } else { cout << "The numbers are not equal" << endl; } } // Driver code int main() { double a = (0.3 * 3) + 0.1; double b = 1; compareFloatNum(a, b); } |
Ява
// Java program to compare // floating point numbers class GFG { static void compareFloatNum( double a, double b) { if (a == b) { System.out.print( "The numbers are equal" + "
" ); } else { System.out.print( "The numbers are not equal" + "
" ); } } // Driver code public static void main(String[] args) { double a = ( 0.3 * 3 ) + 0.1 ; double b = 1 ; compareFloatNum(a, b); } } // This code is contributed by 29AjayKumar |
Python
# Python program to compare # floating point numbers def compareFloatNum(a, b): if (a = = b): print ( "The numbers are equal" ) else : print ( "The numbers are not equal" ) # Driver code a = ( 0.3 * 3 ) + 0.1 b = 1 compareFloatNum(a, b) # This code is contributed by mohit kumar 29 |
C #
// C# program to compare // floating point numbers using System; class GFG { static void comparefloatNum( double a, double b) { if (a == b) { Console.Write( "The numbers are equal" + "
" ); } else { Console.Write( "The numbers are not equal" + "
" ); } } // Driver code public static void Main(String[] args) { double a = (0.3 * 3) + 0.1; double b = 1; comparefloatNum(a, b); } } // This code is contributed by PrinciRaj1992 |
Выход:
Цифры не равны