我有一个 Double 变量,即 0.0449999
我想将其四舍五入到小数点后 1 位 0.1
。
我正在使用 Kotlin,但 Java 解决方案也很有帮助。
val number:Double = 0.0449999
我尝试使用这两种解决方案获得小数点后 1 位:
val solution = Math.round(number * 10.0) / 10.0
val solution = String.format("%.1f", number)
问题是我在这两种情况下都得到 0.0 因为它将数字从 0.04
到 0.0
。它不需要所有小数并四舍五入。
我想获得0.1: 0.045 -> 0.05 -> 0.1
原文由 Noelia 发布,翻译遵循 CC BY-SA 4.0 许可协议
最后我做了
Andy Turner
建议,四舍五入到 3 位小数,然后到 2,然后到 1:答案1:
答案 2:
结果:
注意:我知道这不是它应该如何工作的,但有时你需要在某些特殊情况下考虑所有小数,所以也许有人觉得这很有用。