Java如何在long中表示十进制数

Olg*_*lga 1 java

如何将字符串数字转换为"6542.5699999999997"?假设我想要长8位数的精度,所以看起来应该是这样的:

长:654257000000

不,我不想使用BigInt.

Hen*_*nry 5

你可以先繁殖,然后像这样舍入:

long val = (long)(6542.5699999999997 * 100000000 + 0.5);
Run Code Online (Sandbox Code Playgroud)

如果数字也可以是负数,则必须单独处理该情况,因为该+ 0.5技巧仅适用于正值.