BigDecimal - como arredondar o último dígito?

Opa :smiley:

Tenho uma regra que me diz o seguinte:

’ Se o último estiver entre 0 e 3, então o último dígito deverá ser 3.’

Estamos usando BigDecimal para lidar com valores e a única maneira que encontrei de fazer isso, é transformar para String e verificar. Tem alguma maneira menos porca de se fazer isso?

Já dei uma fuçada na classe Math mas não encontrei muito o que poderia me ajudar.

[]'s

http://www.javafree.org/topic-9723-Ajuda-com-Arredondamento

ve se isso ajuda

Isso não resolve…pq eu precisaria setar o último digíto de acordo com o valor dele…

Ex.:

Que arredondamento esquisito.

Por acaso é para arredondar sempre a segunda casa decimal, ou não?

Por exemplo, 1.00 -> 1.03, 1.01 -> 1.03, 1.02 -> 1.03, 1.03 -> 1.03, 1.04 -> 1.04, … 1.09 -> 1.09

Se for isso, é bastante simples (multiplique o número por 100: 1.01 -> 101), ache o resto da divisão por 10, para pegar o último dígito (101 -> 1), e então faça a tal comparação. Se for < 3, então você precisa somar 3, 2 ou 1 dependendo do dígito. Depois você divide o número por 100 de novo.