【发布时间】:2020-01-07 03:14:38
【问题描述】:
我想在我的代码中实现以下目标,但似乎找不到合适的解决方案: 我需要始终显示 6 位数字的代码,无论是大于 999999 的 int 还是小于 0 的浮点数。
100000 -> 100000
1000000 -> 100000
10000.0 -> 10000
100.01111 -> 100.011
0.000001 -> 0
0.000011 -> 0.00001
在 cmets 的一些帮助下,我得到了一个适合我的解决方案。如果有人有更优雅的方法,请分享。
int desiredPrecision = 6;
int numberOfDigitsOnTheLeft = val.toInt().toString().length;
String sixDigitString = val.toStringAsFixed(desiredPrecision-numberOfDigitsOnTheLeft);
【问题讨论】:
-
见num
toString*方法 -
@pskink num.toString 方法没有为我的具体问题提供适当的解决方案。它们给出精确的小数位数或适当的有效小数位数。
-
@Eugene "duplicate" 的所有答案都显示了如何设置特定的小数位数,但没有解决如何设置特定位数的解决方案。不同类型的问题
-
找出点左侧有多少个数字(称为
left),右侧需要5 - left- 例如,如果左侧有2个数字那么你需要右边的3个数字 -
编辑:在你的情况下是
6,而不是5