`

java的double转成2进制

 
阅读更多
先说结论:
Double a=360/15660.0;
System.err.println(Long.toBinaryString(Double.doubleToLongBits(a)));


其实就是先转成long 再long转成2进制

起因是这样的:
Double a=360/15660.0;
我java这边看到的结果是:0.022988505747126436
但是前端lua看到的是        0.022988505747126

我直觉就认为前端lua二逼,生生截断了3位
但是前端lua表示不服
确认的方法就是核对二进制,一看二进制是一样的。
所以啊  不要相信看到的东西。
double根本就不是你看到的那个样子。
1
4
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics