diff --git a/core-java-modules/core-java-numbers-conversions/pom.xml b/core-java-modules/core-java-numbers-conversions/pom.xml
index f745b83f8a..d014675ead 100644
--- a/core-java-modules/core-java-numbers-conversions/pom.xml
+++ b/core-java-modules/core-java-numbers-conversions/pom.xml
@@ -18,6 +18,18 @@
commons-lang3
${commons-lang3.version}
+
+ org.testng
+ testng
+ RELEASE
+ test
+
+
+ junit
+ junit
+ 4.13.2
+ test
+
diff --git a/core-java-modules/core-java-numbers-conversions/src/main/java/com/baeldung/floatdoubleconversions/FloatAndDoubleConversions.java b/core-java-modules/core-java-numbers-conversions/src/main/java/com/baeldung/floatdoubleconversions/FloatAndDoubleConversions.java
new file mode 100644
index 0000000000..f4fd68550c
--- /dev/null
+++ b/core-java-modules/core-java-numbers-conversions/src/main/java/com/baeldung/floatdoubleconversions/FloatAndDoubleConversions.java
@@ -0,0 +1,15 @@
+package com.baeldung.floatdoubleconversions;
+
+public class FloatAndDoubleConversions {
+ public static void main(String args[]){
+ float vatRate = 14.432511f;
+ System.out.println("vatRate:"+vatRate);
+ Float localTaxRate = 20.12434f;
+ System.out.println("localTaxRate:"+localTaxRate);
+
+ double shootingAverage = 56.00000000000001;
+ System.out.println("shootingAverage:"+shootingAverage);
+ Double assistAverage = 81.123000000045;
+ System.out.println("assistAverage:"+assistAverage);
+ }
+}
diff --git a/core-java-modules/core-java-numbers-conversions/src/test/java/com/baeldung/floatdoubleconversions/FloatDoubleConversionsTest.java b/core-java-modules/core-java-numbers-conversions/src/test/java/com/baeldung/floatdoubleconversions/FloatDoubleConversionsTest.java
new file mode 100644
index 0000000000..10e9fd4c36
--- /dev/null
+++ b/core-java-modules/core-java-numbers-conversions/src/test/java/com/baeldung/floatdoubleconversions/FloatDoubleConversionsTest.java
@@ -0,0 +1,33 @@
+package com.baeldung.floatdoubleconversions;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class FloatDoubleConversionsTest {
+
+ @Test
+ public void whenDoubleType_thenFloatTypeSuccess(){
+ double interestRatesYearly = 13.333333333333334;
+ float interest = (float) interestRatesYearly;
+ System.out.println(interest); //13.333333
+ Assert.assertTrue(Float.class.isInstance(interest));//true
+
+ Double monthlyRates = 2.111111111111112;
+ float rates = monthlyRates.floatValue();
+ System.out.println(rates); //2.1111112
+ Assert.assertTrue(Float.class.isInstance(rates));//true
+ }
+ @Test
+ public void whenFloatType_thenDoubleTypeSuccess(){
+ float gradeAverage =2.05f;
+ double average = gradeAverage;
+ System.out.println(average); //2.049999952316284
+ Assert.assertTrue(Double.class.isInstance(average));//true
+
+ Float monthlyRates = 2.1111112f;
+ Double rates = monthlyRates.doubleValue();
+ System.out.println(rates); //2.1111112
+ Assert.assertTrue(Double.class.isInstance(rates));//true
+ }
+
+}