【问题标题】:Put point in string value (android java) [closed]将点放在字符串值中(android java)[关闭]
【发布时间】:2016-08-08 01:00:20
【问题描述】:

我有 BMI 计算器应用程序,它接受一些输入并将其放入“EditText”中。这是我想要做的:
如果输入是170,就会变成1.70
如果输入为1.70,则不会改变。

这是我的代码:

String weight = editText.getText().toString();

【问题讨论】:

    标签: java android android-studio android-edittext edit


    【解决方案1】:

    我发现这种方法可行:我取用户输入的数字,然后“170/100”+“0”给我 1.70

    【讨论】:

      【解决方案2】:

      您不能将字符串转换为整数并将模数 100 转换为 cms 并除以 100 以得到米吗?

      您可以像这样将字符串权重转换为 int

      int wgt = Integer.parseInt(weight); 
      

      然后将米和厘米分开。

      int mtrs = wgt / 100; 
      int cms = wgt % 100; 
      

      然后将两者结合起来

      String result = mtrs + "." + cms;
      

      【讨论】:

      • 我不明白..你能给我解释一下吗?
      • 您可以像这样将String weight 转换为int int wgt = Integer.parseInt(weight); int mtrs = wgt / 100; int cms = wgt % 100; String result = mtrs + "." + cms;
      • @דורעזרא 是否有效?它应该可以工作。
      • 我试试,这里有些问题
      • @jgm 你以厘米为单位测量重量吗?
      【解决方案3】:

      试试这样的

      float value = Float.parse("170");
      editText.setText(String.Format(Locale.ENGLISH,"%,02f", value/100f))
      

      【讨论】:

      • 它说“无法解析方法׳parse(java.lang.String)׳”
      • 它叫做 parseFloat,我不应该在 Chrome 中开发 :-) developer.android.com/reference/java/lang/…
      • 你必须添加一些,例如if (value < 100) // don't divide by 100
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-23
      • 1970-01-01
      • 2020-12-13
      • 2012-11-22
      • 1970-01-01
      • 2021-10-05
      相关资源
      最近更新 更多