我有一个功能:
ItemValue[i] = substring(toString(obj),0,toString(obj).indexOf(".") + 4);
其中obj是一个数字。该功能适用于9,999,999.99999 - > 9999999.999,但99,999,999.99999等值转换为9.999。
是数据类型问题吗?
谢谢,
答案 0 :(得分:2)
问题在于您使用的是双值。价值99999999.99999
将9.999999999999E7
翻译为toString()
,以便获得结果。为了在十进制后删除数字,您可以使用DecimalFormat
class:
DecimalFormat f = new DecimalFormat();
f.setMaximumFractionDigits(3);
f.setMinimumFractionDigits(3);