Java возвращает неправильные значения для двойного умножения - PullRequest
0 голосов
/ 21 февраля 2019

Я не могу понять, почему числа, перенастраиваемые этой функцией, отличаются от того, какими они должны быть.Для данных, которые вводятся и умножаются на 0,158, неправильные значения возвращаются вычислениями.Например, 242 * .185 должен вернуть 44,77, но вместо этого он возвращает 38,236.Я действительно не могу понять, где я ошибся с этим.

import java.util.*;

public class converter {

    public static void main(String[] args) {
        String s = "242,948,275,879,304";
        List<String> list = Arrays.asList(s.split(","));
        String end = "";
        Scanner reader = new Scanner(s);
        for (int i = 0; i < list.size(); i++)
        {
            String str = list.get(i);
            double j = Float.parseFloat(str);
            double number = 0.158;
            j = j * number;
            System.out.println(j);
            int k = (int) j;
            end += k +",";
        }
        System.out.println(end);
    }

}
...