【问题标题】:How to limit decimal digits - Android如何限制小数位数 - Android
【发布时间】:2017-01-23 17:46:15
【问题描述】:

我已经在网上搜索过,我发现的所有内容都是使用 DecimalFormat 并且我尝试过,但是当我在 Android Studio 上编码时,会出现一条消息,说必须使用 API 24 来执行此类命令。 API 24 有错误,我查看的所有网站都建议使用 API 23。

所以,我需要一种方法来在我的 AlertDialog 上仅显示两位小数。

【问题讨论】:

  • 请发布您的代码
  • 好的!搞定了!!

标签: android numbers double decimal limit


【解决方案1】:

参考this SO post,可以使用这个代码:

String formattedValue = String.format("%.2f", myDouble);

如果是你要找的请告诉我

【讨论】:

  • 我试过用但是没用,不知道用对了没有,我在评论里贴出了我是怎么用的。
  • @Mekillerow 字符串格式给你一个字符串作为结果,检查我在代码中的编辑:)
  • @Mekillerow 考虑选择解决您问题的答案作为正确答案,这样有相同问题的人可以轻松找到解决方案
【解决方案2】:
 /** Round on two digits after "." */
    public static float round(float f){
        return Math.round(f * 100) / 100.0F;
    }

附:将 float 用于短浮点数。这就是它的用途。

编辑: “好吧,3位小数也更好,对吧?我怎样才能限制这些数字?”

快速浏览一下它是如何处理两位小数的。那么扩展三个真的很简单。

【讨论】:

  • 在我的情况下使用 float 比 double 好?
  • 这取决于你的结果应该有多精确。如果您只需要两位小数,那么 float 是正确的选择
  • 好的,3 位十进制数字也是更好的选择,对吧?如何限制这些数字?
  • 浮点数和双精度数的区别:*.com/questions/27598078/…
  • 明白,谢谢!所以在我的情况下最好使用float,但是我应该在哪里以及如何将您首先编写的代码放在我的代码中? PS:代码在下面的评论里