Unit & Quantity examples using com-hfg objects.

The com.hfg.units package contains classes for working with units and quantities of length, volume, time, area, temperature, concentration, amount of substance (mole), electric current, luminous intensity, biological potency, and catalytic activity. Here are some simple examples.

  1. Quantity constructor examples
  2. Plurals
  3. Scaling a length
  4. Scaling a concentration
  5. Length conversion from meters to feet or inches
  6. Length conversion from feet to rods
  7. Area conversion from acres to sq. meters
  8. Temperature conversion from Kelvin to Farenheit
  9. Quantity addition with differing units
  10. Quantity subtraction with differing units
  11. Quantity less than comparison with differing units
  12. Quantity greater than comparison with differing units

Example 1: Quantity constructor examples

  1.  
  2. // Some SI examples
  3. Quantity quantity = new Quantity(5000, "meters");
  4. Assert.assertEquals("5000 m", quantity.toString());
  5.  
  6. quantity = new Quantity(30.2, "microliters");
  7. Assert.assertEquals("30.2 μL", quantity.toString());
  8.  
  9. quantity = new Quantity(30.2, "μL");
  10. Assert.assertEquals("30.2 μL", quantity.toString());
  11.  
  12. quantity = new Quantity("+0.5 L");
  13. Assert.assertEquals("0.5 L", quantity.toString());
  14.  
  15. quantity = new Quantity("10 sec");
  16. Assert.assertEquals("10 s", quantity.toString());
  17.  
  18. quantity = new Quantity("1.660539040E-27 g");
  19. Assert.assertEquals("1.66053904E-27 g", quantity.toString());
  20. Assert.assertEquals(1.660539040E-27, quantity.floatValue(), 1E-28);
  21. Assert.assertEquals("g", quantity.getUnit().toString());
  22.  
  23. // Some Imperial system examples
  24. quantity = new Quantity("6 ft.");
  25. Assert.assertEquals("6 ft", quantity.toString());
  26.  
  27. quantity = new Quantity("6 feet");
  28. Assert.assertEquals("6 ft", quantity.toString());
  29.  
  30. quantity = new Quantity("6 lb 4 oz");
  31. Assert.assertEquals("6.25 lb", quantity.convertTo(Unit.valueOf("lb")).toString());
  32.  
  33. quantity = new Quantity("2 gal 2 qt");
  34. Assert.assertEquals(10, quantity.intValue().intValue());
  35. Assert.assertEquals("10 qt", quantity.convertTo(Unit.valueOf("qt")).toString());
  36.  
  37. quantity = new Quantity("5 ft 10 in");
  38. Assert.assertEquals("1.778 m", quantity.convertTo(Unit.valueOf("m")).toString());
  39.  
  40. quantity = new Quantity("5' 10''");
  41. Assert.assertEquals("1.778 m", quantity.convertTo(Unit.valueOf("m")).toString());
  42.  

Example 2: Plurals

  1.  
  2. Quantity quantity = new Quantity(1.0, TimeUnit.day);
  3. Assert.assertEquals("1 day", quantity.toString());
  4.  
  5. // Try with a non-one value
  6. quantity = new Quantity(0.5, TimeUnit.day);
  7. Assert.assertEquals("0.5 days", quantity.toString());
  8.  

Example 3: Scaling a length

  1.  
  2. Quantity quantity = new Quantity(5000, LengthUnit.meter);
  3.  
  4. quantity.scale(QuantityType.LENGTH, SI_ScalingFactor.kilo);
  5. Assert.assertEquals("5 km", quantity.toString());
  6.  
  7. quantity.scale(QuantityType.LENGTH, SI_ScalingFactor.mega);
  8. Assert.assertEquals("0.005 Mm", quantity.toString());
  9.  
  10. quantity.scale(QuantityType.LENGTH, SI_ScalingFactor.centi);
  11. Assert.assertEquals("500000 cm", quantity.toString());
  12.  

Example 4: Scaling a concentration

  1.  
  2. Quantity quantity = new Quantity(1.2, "mg/mL");
  3.  
  4. Assert.assertEquals("1.2 mg/mL", quantity.toString());
  5.  
  6. quantity.scale(QuantityType.VOLUME, SI_ScalingFactor.one);
  7. Assert.assertEquals("1200 mg/L", quantity.toString());
  8.  
  9. quantity.scale(QuantityType.MASS, SI_ScalingFactor.one);
  10. Assert.assertEquals("1.2 g/L", quantity.toString());

Example 5: Length conversion from meters to feet or inches

  1.  
  2. Quantity quantity = new Quantity(10, LengthUnit.meter);
  3.  
  4. Quantity quantityFeet = quantity.convertTo(LengthUnit.foot);
  5. Assert.assertEquals("32.81 ft", quantityFeet.toString("%.2f"));
  6.  
  7. Quantity quantityInches = quantity.convertTo(LengthUnit.inch);
  8. Assert.assertEquals("393.70 in", quantityInches.toString("%.2f"));
  9.  

Example 6: Length conversion from feet to rods

  1.  
  2. Quantity quantityFeet = new Quantity(10, LengthUnit.foot);
  3.  
  4. Quantity quantityRods = quantityFeet.convertTo(LengthUnit.rod);
  5. Assert.assertEquals("0.61 rods", quantityRods.toString("%.2f"));
  6.  

Example 7: Area conversion from acres to sq. meters

  1.  
  2. Quantity quantityAcres = new Quantity(10, AreaUnit.acre);
  3.  
  4. Quantity quantitySqMeters = quantityAcres.convertTo(AreaUnit.sq_meter);
  5. Assert.assertEquals("40468.564224 m²", quantitySqMeters.toString());
  6.  

Example 8: Temperature conversion from Kelvin to Farenheit

  1.  
  2. Quantity quantityKelvin = new Quantity(288.71, TemperatureUnit.Kelvin);
  3.  
  4. Quantity quantityFarenheight = quantityKelvin.convertTo(TemperatureUnit.Farenheit);
  5. Assert.assertEquals("60.0 °F", quantityFarenheight.toString("%.1f"));
  6.  

Example 9: Quantity addition with differing units

  1.  
  2. Quantity testQuantity = new Quantity(5, Unit.valueOf("kg"));
  3. testQuantity = testQuantity.add(new Quantity(2, Unit.valueOf("g")));
  4.  
  5. Assert.assertEquals("5.002 kg", testQuantity.toString("%.3f"));
  6.  

Example 10: Quantity subtraction with differing units

  1.  
  2. Quantity testQuantity = new Quantity(5, Unit.valueOf("kg"));
  3. testQuantity = testQuantity.subtract(new Quantity(2, Unit.valueOf("g")));
  4.  
  5. Assert.assertEquals("4.998 kg", testQuantity.toString("%.3f"));
  6.  

Example 11: Quantity less than comparison with differing units

  1.  
  2. Quantity testQuantity = new Quantity(5, Unit.valueOf("kg"));
  3.  
  4. Assert.assertFalse(testQuantity.lessThan(new Quantity(5, Unit.valueOf("kg"))));
  5. Assert.assertFalse(testQuantity.lessThan(new Quantity(1, Unit.valueOf("g"))));
  6. Assert.assertTrue(testQuantity.lessThan(new Quantity(10000, Unit.valueOf("g"))));
  7. Assert.assertFalse(testQuantity.lessThan(new Quantity(10, Unit.valueOf("lb"))));
  8. Assert.assertTrue(testQuantity.lessThan(new Quantity(11.3, Unit.valueOf("lb"))));
  9.  

Example 12: Quantity greater than comparison with differing units

  1.  
  2. Quantity testQuantity = new Quantity(5, Unit.valueOf("kg"));
  3.  
  4. Assert.assertFalse(testQuantity.greaterThan(new Quantity(5, Unit.valueOf("kg"))));
  5. Assert.assertTrue(testQuantity.greaterThan(new Quantity(1, Unit.valueOf("g"))));
  6. Assert.assertFalse(testQuantity.greaterThan(new Quantity(10000, Unit.valueOf("g"))));
  7. Assert.assertTrue(testQuantity.greaterThan(new Quantity(10, Unit.valueOf("lb"))));
  8. Assert.assertFalse(testQuantity.greaterThan(new Quantity(11.3, Unit.valueOf("lb"))));

Return to Main Page