创建一个 "converter" class 以获取公制测量值

Create a "converter" class to get metric measurements

我正在开发一个应用程序来获取体重和身高等用户信息。

根据 Locale,应用程序显示两个或三个 EditText:

在这两种情况下,我都可以从每个 EditText 中获取一个 int 值或一个 String 值。

我想创建一个 Java class 允许我通过两个(或三个)值从英制切换到公制(反之亦然)。

你有两种基本方法:

  1. 如果你很懒,试试javax.measure library
  2. 不偷懒自己写Converterclass:

    public class Converter {
    
       public static double feetToCm(double feet) {
          return feet * 30.48;
       }
    
       public static double poundsToKg(double pounds) {
          return pounds * 0.45359237;
       }
    
       // etc.
    
    }
    

    用法:

    double myPounds = 5.5;
    doube myKilos = Converter.poundsToKg(myPounds);
    

我们刚刚为 Java(Android 兼容)、JavaScript 和 C# 发布的 UnitOf 库非常适合在公制和英制之间相互转换任何计量单位:

//Mass as one liners
double kgToLb = new UnitOf.Mass().fromKilograms(5).toPounds();  //11.023122100918888
double lbToKg = new UnitOf.Mass().fromPounds(5).toKilograms();  //2.26796

//Length as a stateless variable
UnitOf.Length ft = new UnitOf.Length().fromFeet(5);
double ftToCm = ft.toCentimeters();  //152.4
double ftToIn = ft.toInches(); //60

有 20 多种完整的计量单位,您永远不需要知道任何换算系数! UnitOf 还可以解析数据类型,与分数相互转换,并允许进行自定义 UnitOf 测量。