【发布时间】:2014-06-11 09:35:47
【问题描述】:
我有以下代码:
Double a = new Double((123456798/1000000)); //123456798 this value comes from client side as a `int`
DecimalFormat df = new DecimalFormat("###.###");
log.info("a :"+a+" df "+df.format(a.doubleValue()));
输出:
a :123.0 df 123
//i want output like this, a :123.xxx fd 123.xxx
请帮忙
更新:
123456798 这个值来自客户端作为 int 所以我不能把它作为 123456798.0(或其他东西)
【问题讨论】:
-
仅仅因为您收到
int的值并不意味着您不能将其分配给double变量...(您为什么要创建Double?我认为这里不需要使用包装器类型...) -
我有卢比货币的价值(
123456798),所以我把它当作int,我把卢比换成了百万,所以我把它分成了1000000 -
@JonSkeet 请看上面的评论。
-
所以(123456798*1.0)/1000000分派给你答案。
-
@mohsinazeem:我没有建议,是吗?我建议采用您提供的
int值,并将那个 存储在double变量中:double x = valueReceivedFromElsewhere; double y = x / 1000000;。当然,这实际上与铸造相同。
标签: java double decimalformat