Как округлить число в строке до ближайшего миллиона - PullRequest
0 голосов
/ 15 апреля 2019

Я хочу округлить число в строке до ближайшего миллиона в Java. Строка namevalue 362073133410.28625. Мне нужен вывод $362,073

Эти данные 362073133410.28625 поступают из базы данных, а значение $362,073 является значением пользовательского интерфейса.

// Database query to get value
ResultSet rs = stmt.executeQuery(query);
while (rs.next()){
    String mytotal = rs.getString(1);                                       
    System.out.println(mytotal);

    // Convert String to float 
    float result = Float.parseFloat(mytotal);       
    System.out.println(result+ " convert valueOf to int");

    // round of to million  
    System.out.println(Math.round(result)+" Result 1");}

OUTPUT

362073133410.28625
3.62073129E11 convert valueOf to int
2147483647 Result 1

Ожидаемый результат должен быть 362,073

1 Ответ

0 голосов
/ 15 апреля 2019

Вы можете использовать bigdecimal's для вашей цели.Ниже представлен подход к решению вашей проблемы:

String mytotal = "362073133410.28625";                                     
System.out.println(mytotal);

// Convert String to float 
BigDecimal result = new BigDecimal(mytotal);
System.out.println(result+ " convert valueOf to int");

// round of to million  

 System.out.println(result.divide(new BigDecimal("1000000")).setScale(0, RoundingMode.HALF_UP)+" Result 1");

// System.out.println(result.divide(new BigDecimal("1000000000")).setScale(3, RoundingMode.HALF_UP)+" Result 1");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...