2.long可以准确存储19位数字,而double只能准备存储16位数字(实际测试,是17位,)。double由于有exp位,可以存16位以上的数字,但是需要以低位的不精确作为代价。如果一个大于17位的long型数字存到double上,就会丢失数字末尾的精度
3.如果需要高于19位数字的精确存储,则必须用BigInteger来保存,当然会牺牲一些性能。
匿名回答于2024-05-25 23:01:53