@mortus707

Как генерировать случайное число типа double с двумя символами после запятой?

Подскажите пожалуйста, есть код по генерации данных в excel, и один столбец — это тип double, выглядит как 12.24,65.54. Мне необходимо нагенерить такие числа, но постоянно выходит либо с большим количеством символов после запятой, либо без рандома
  • Вопрос задан
  • 241 просмотр
Пригласить эксперта
Ответы на вопрос 3
mayton2019
@mayton2019 Куратор тега Java
Bigdata Engineer
Можно генерить случайное целое число с запасом в 2 разряда. А потом кастить в double и делить на 100.

Но ты должен помнить что double - это сложный формат и он не мапится на десятичную систему 1:1
Обычно многие это забывают и ловят артефакты.
Ответ написан
Комментировать
@Dementor
программист, архитектор, аналитик
Округли до нужного знака.
Ответ написан
xez
@xez Куратор тега Java
TL Junior Roo
var random = new Random();

        var wholePart = random.nextInt(1000);
        var fraction = random.nextInt(100);

        var number = wholePart + ((double) fraction / 100);

        var bigDecimal = new BigDecimal(number)
                .setScale(2, RoundingMode.HALF_UP);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы