Я пытался из вычитания чисел в Java, и это дает мне неожиданный результатКак использовать дважды, чтобы получить ожидаемый результат
public class FloatWeird
{
public static void main(String[] args)
{
double n = 1;
for(int i = 0;i<10;i++)
{
System.out.println(n);
n = n - 0.10;
}
}
}
Результат
1.0
0.9
0.8
0.7000000000000001
0.6000000000000001
0.5000000000000001
0.40000000000000013
0.30000000000000016
0.20000000000000015
0.10000000000000014
Я прошел через несколько форумов и понять, что использование класса BigDecimal является одним из решений. Однако есть ли способ исправить это проще, используя double, как указано выше?
Что представляют собой эти цифры? Предположим, что они представляют собой количество джина, которое нужно использовать для приготовления коктейля. Действительно ли это имеет значение, если вы добавите миллионную часть миллиарда литра больше, чем нужно? –
IMHO Это не дубликат, поскольку OP конкретно заявляет, что им известно об альтернативе использования BigDecimal. –