Мне нужно интегрировать свое веб-приложение с платежным шлюзом. Я хочу ввести общую сумму в долларах США, а затем преобразовать ее в центах, поскольку моя библиотека платежных шлюзов принимает сумму в центах (типа Integer). Я обнаружил, что Big Decimal в Java — лучший способ манипулирования валютой. В настоящее время я беру входные данные, например, 50 долларов США, и конвертирую их в целое число следующим образом:
Код: Выделить всё
BigDecimal rounded = amount.setScale(2, BigDecimal.ROUND_CEILING);
BigDecimal bigDecimalInCents = rounded.multiply(new BigDecimal("100.00"));
Integer amountInCents = bigDecimalInCents.intValue();
Это правильный способ конвертации долларов США в центы или мне следует сделать это каким-то другим способом?
Подробнее здесь:
https://stackoverflow.com/questions/303 ... er-in-java