我正在尝试将Java中的Long
除以0.99
之类的百分比,这样一直在给我疯狂的结果。
long totalBytes = 5877062
long final = (long) (totalBytes / 0.99) // IT PRODUCES 5936426 > totalBytes
我在做什么错?对于1.00
来说效果很好,如果我给出0.95 ++
,它总是会产生比totalBytes
大的东西。
为什么我会失去精度?
Java Version 10.0.2
答案 0 :(得分:1)
如果要占总字节数的某个百分比,则应乘以十进制百分比与总字节值:
long totalBytes = 5877062;
long percent = (long) (0.99 * totalBytes);