0

Can Java functions accept variables that are floats?

Why am I seeing this warning in the Java compiler? Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method sum(float, float) in the type calc is not applicable for the arguments (double, double)

24th Oct 2021, 11:32 PM
Harrison
Harrison  - avatar
4 Answers
+ 2
Cast the arguments before passing to the function sum((float)arg1, (float)arg1); But I'd recommend you use double as your function parameter types instead of float. Double is more precise than float and so Java allows float-to-double conversions but not double-to-float conversions. Because the second type u mentioned might lose some information(accuracy or some floating point digits). I always use double and almost never use float =)
25th Oct 2021, 12:56 AM
Rishi
Rishi - avatar
+ 2
Example: Let's see a simple example to display float type variable. public class FloatExample1 { public static void main(String[] args) { float num1=5.5f; float num2=5f; System.out.println("num1: "+num1); System.out.println("num2: "+num2); } } Output: num1: 5.5 num2: 5.0
25th Oct 2021, 5:08 AM
Arun Jamson
Arun Jamson - avatar
+ 1
Here look how it works with float https://code.sololearn.com/cWP0Ia9R4w87/?ref=app
24th Oct 2021, 11:39 PM
Coding Cat
Coding Cat - avatar
+ 1
If you pass floating point literals then FYI floating point literals are of `double` type rather than `float`. But you can specify the literal as `float` by appending float tyoe notation e.g. YourClass.yourMethod( 1.23f, 4.56f );
25th Oct 2021, 2:34 AM
Ipang