2个回答
2017-06-08
展开全部
把newSalary转为double型,然后再format就好了,看源码就会知道,String类型是不被允许的
public final StringBuffer format(Object number,
StringBuffer toAppendTo,
FieldPosition pos) {
if (number instanceof Long || number instanceof Integer ||
number instanceof Short || number instanceof Byte ||
number instanceof AtomicInteger ||
number instanceof AtomicLong ||
(number instanceof BigInteger &&
((BigInteger)number).bitLength () < 64)) {
return format(((Number)number).longValue(), toAppendTo, pos);
} else if (number instanceof BigDecimal) {
return format((BigDecimal)number, toAppendTo, pos);
} else if (number instanceof BigInteger) {
return format((BigInteger)number, toAppendTo, pos);
} else if (number instanceof Number) {
return format(((Number)number).doubleValue(), toAppendTo, pos);
} else {
throw new IllegalArgumentException("Cannot format given Object as a Number");
}
}
追问
我现在才发现,然后现在的问题是,我将double类型:12.5 格式化成为字符串12.50,
但是我要返回一个double类型的数据,将字符串12.50再转换成double结果为12.5
我想要的值是double类型的12.50。我是新手,大神别介意,请问这个问题如何解决或者涉及什么方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DecimalFarmat.format是把double格式化成字符串
你传入字符串让它格式化成字符串是什么意思?
你传入字符串让它格式化成字符串是什么意思?
更多追问追答
追问
我现在才发现,然后现在的问题是,我将double类型:12.5 格式化成为字符串12.50,
但是我要返回一个double类型的数据,将字符串12.50再转换成double结果为12.5
我想要的值是double类型的12.50。我是新手,大神别介意,请问这个问题如何解决或者涉及什么方法
追答
double是数字,它不存在格式,所谓数字的格式指的就是数字变成字符串后给你看到什么
所以只有字符串才存在12.50这个样子
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询