Я новичок в программировании на Java. Я хотел бы округлить цену до ближайших 2 десятичных знаков.Цена округления до ближайшего кратного 5cent в java
E.g.
38,82 в 38.80
38.87 в 38.90
38.85 остается неизменным. Я сделал, например. 1 и, например, 2, но он выходит только в 1 десятичном разряде. Например. 38,82 38,8
это мой код:
import java.text.DecimalFormat;
public class RoundUp {
public static void main(String[] args){
DecimalFormat df = new DecimalFormat("#.##");
double num = 38.84;
System.out.println(df.format(Math.round(num*10.00)/10.00));
}
}
Я посмотрел на другие модели ответов экспертов в этой сети, но ни один из них на самом деле не ответил на мой вопрос. Установив в 2 десятичных знака, я использую DemicalFormat. Это я знаю, но округляя число, скажем, 38,83 до 38,85 и 38,87 до 38,90 - это то, что я действительно хочу. Это система округления, которую использует моя страна. Может проверить это here.
И, пожалуйста, всем .. пожалуйста, не меняйте свой вопрос на дубликат. вы думаете, что его дублированный, пожалуйста, спросите меня, чтобы узнать больше. Я могу убедиться, что он не дублируется (я думаю ...)
'Math.round (Num * 20,00) /20.00)' – Jesper
Это был дан ответ раньше. Но не принимайте принятый ответ. Используйте самый проголосовавший ответ. http://stackoverflow.com/questions/2106615/round-bigdecimal-to-nearest-5-cents – Bobby
привет @Bobby, я попробовал BigDecimal .. даже использовать методы ROUND_UP .. он не округляет числа .. но вместо этого я поднялся на 1 цент Например. 38.83 -> 38.84 – Wilz5363