如何在不损失精度的情况下乘以Doubles?

问题描述 投票:0回答:1

使用此功能:

fun  multiplyByHundred(num:Double):Double{
    return num * 100
}

这些是某些输入的结果:

69.56 => 6956.0

69.57 => 6956.999999999999

69.58 => 6958.0

69.59 => 6959.0

  1. 为什么69.57会产生6956.999999999999?
  2. 如何正确地进行此计算而又不损失精度并使它与任何Double一起使用?
kotlin double precision
1个回答
0
投票

你不能。 double只能表示实数的稀疏子集。

© www.soinside.com 2019 - 2024. All rights reserved.