我知道这已经被很多质疑的时候,但我想在其他线程所有的解决方案,我不能找到一个符合我想要的东西......格式化一个数字,小数点后两位没有四舍五入的情况,并转换到双
所以我有一个像这样的输入-9.22841
这是读作为一个字符串,我想要做的是将此数字格式化为像这样-9.23
这样的小数点后两位小数,然后将其转换为双精度,而不会丢失这种格式...
我尝试了很多方法,如String.format("%.2f",number)
和下面的一个...
String l = -9.22841
DecimalFormat df = new DecimalFormat("#,00");
String tmp =df.format(l);
double t = Double.parseDouble(tmp);
这一个:
String l = -9.22841
DecimalFormat df = new DecimalFormat("#.00");
String tmp =df.format(l);
double t = Double.parseDouble(tmp);
,但每次我尝试转换到一倍String.format("%.2f",number)
或DecimalFormat df = new DecimalFormat("#.00");
给出错误转换为加倍
,当我做到这一点:
DecimalFormat df = new DecimalFormat("#,00");
输出是错误的,是这样的-9.23
它应该是-9.22
感谢您的时间...
确切地说,你试图“转换为双倍”? –
我不确定你为什么使用任何格式的逗号... –
(我也遇到了麻烦,确切地说是否要解析,格式化或解析两次......这对你有帮助, d将您的问题限制为* 1 *操作,例如从'double'格式化为'String',带有样本输入和预期输出。) –