两个BigDecimal型数据b1,sValue,相除得rate,怎么rate打印出来都是0,1啊?跟真实结果差远了!我要很精确得数据.
BigDecimal rate = null;
rate = b1.divide(sValue, BigDecimal.ROUND_HALF_UP);
System.out.println("rate=" + rate);
BigDecimal rate = null;
rate = b1.divide(sValue, BigDecimal.ROUND_HALF_UP);
System.out.println("rate=" + rate);
解决方案 »
- 问大家一个很菜鸟的问题!
- vector中set和setElementAt方法的区别
- import java.awt.*是不是只能包含了一级目录?
- 请问 如何让2个类中的synchronized共享同一个锁
- Java swing JCombox上怎么添加Jtextfield控件的?
- 如何用NETBEANS编写一个打开图片的小程序~~
- 和大家讨论一个关于“Java小对象”的问题
- 启动JBOSS时,出错Failed to boot JBossjavax.management.InstanceNotFoundException: JMImplementation:service=LoaderRepos
- 定义字符数组的简单问题,请进来看看
- 紧急求助:哪位大哥帮我看看我的程序他做在哪里?我的工具是jdk
- 问一个关于XML的问题,请高手解答。。进来有分!!!
- 内部类继承问题
下面得结果算出来是rate=-0.2581
但是我用windows计算器算出来是0.2582147838.......
这是为什么???
public static void main(String[] args) {
BigDecimal b1 = new BigDecimal("-555.4200");
BigDecimal sValue = new BigDecimal("2151.5800");
BigDecimal rate = b1.divide(sValue, 4, BigDecimal.ROUND_HALF_UP);
System.out.println("rate=" + rate);
}