怎样使小数运算更加精确
来源:互联网 发布:阿尔法贝塔剪枝算法 编辑:程序博客网 时间:2024/05/01 07:57
小明在超市购买了一个价值1.1元的口香糖,但他只有2元面额的钞票,那么应该找他多少零钱呢?
这样一个简单的问题,我们也许会这样去写程序:
public class Change
{
public static void main(String args[])
{
System.out.println(2.00 - 1.10);
}
}
{
public static void main(String args[])
{
System.out.println(2.00 - 1.10);
}
}
你肯定会期望该程序能够打印出0.9,但结果是不是呢?在亲自运行后你会发现,结果是0.8999999999999999这样一个令人厌恶的结果。
这个结果的原因在于并不是所有的小数都可以用二进制浮点数来精确表示的,会出现意想不到的误差,那么对于货币财务这样需要精确计算的问题是非常致命的。那么怎样解决呢?
答案很简单,我们只需要把小数转换成整数再计算,得到的结果再转换成小数就可以得到正确的结果,如下:
public class Change
{
public static void main(String args[])
{
System.out.println((2.00*10 - 1.10*10)/10);
}
}
{
public static void main(String args[])
{
System.out.println((2.00*10 - 1.10*10)/10);
}
}
- 怎样使小数运算更加精确
- JS 精确小数运算
- EXCEL 截取一段,做除法运算,精确两位小数
- java精确除运算,保留任意位小数
- Java中对小数进行精确的运算
- 怎么使float保留精确小数
- SQL SERVER除运算怎样取小数形式
- 小数精确相乘
- 小数的精确表达
- Java精确计算小数
- js小数精确计算
- 小数精确计算
- java小数精确计算
- Defect Reporting (Section 2) --怎样使Defect Report更加Effective
- ps 图片处理技法 怎样使照片看起来更加清晰
- Java 小数精确计算问题
- BigDecimal 执行精确小数计算
- 用分数精确表示小数
- mysql简单管理
- asp.net1.1部署到Win2000发生诡异的问题
- mmu和虚存
- Java的接口和抽象类的区别
- WINCE中断例子
- 怎样使小数运算更加精确
- C++中使用多态的代价
- 海量数据处理分析
- 今天向公司辞职了
- 对sourceforge项目使用CVS
- 配置Eclpise+tomcat并实现JSP的编写与部署
- 程序员每天应该做的事
- 麒麟一出 嘘声一片??
- mfc,示例 ctrlbars 程序运行流程分析