JS 通过传参的方式输出 ab,java的double乘法精度问题

来源:互联网 发布:卡密生成软件 编辑:程序博客网 时间:2024/06/05 23:50
<!DOCTYPE html><html lang="zh-cn"><head><meta charset="UTF-8"></head><body><script>//fn(param) 传参,如何输出"ab"function fn(param){if(param){console.info("a");}else{console.info("b");}}//这个是正确的,不过在控制台分行输出"ab"//fn(fn(true));//如果硬要一行输出"ab",可参考这个方法fn(!function{console.info("ab");console.info=function{return;}});</script></body></html>

效果图:

JS 通过传参的方式输出 ab

本文为头条号作者发布,不代表今日头条立场。


项目中实际的代码,我们实际的金额单位是元,精确到分,另外一个系统传递的时候需要的是整数,就是分,我们就简单乘以100转换了下,结果发现是有问题的:

public static void main(String[] args) {        double payMoney = Double.valueOf("1253.59");        String result = String.valueOf((int)(payMoney * 100));        System.out.println(result);    }

结果是:125358

因为1253.59*100 的结果是 125358.99999999999

还比较没有想到乘以100这种都有问题。

解决的方法是用BigDecimal,就不多说了。

本文为头条号作者发布,不代表今日头条立场。


0 0