Как удалить запятую из строки 1398,90 с помощью groovy

Я не могу удалить запятую из строки 1398,90, используя groovy

def liveprice = '1398,90'; def liveprice2 = liveprice.replaceAll(',', '')


person Guru    schedule 14.06.2019    source источник
comment
ваш код работает нормально. пожалуйста, предоставьте подробности, почему вы не можете это сделать.   -  person daggett    schedule 14.06.2019


Ответы (2)


Я бы действительно избегал использования регулярных выражений с числами

Особенно цифры, похожие на деньги ????

Вы можете использовать DecimalFormat для чтения этой строки в BigDecimal (чтобы вы сохраняли точность)

import java.text.*

BigDecimal result = DecimalFormat.instance.with {
    parseBigDecimal = true
    parse('1,398.90')
}
person tim_yates    schedule 14.06.2019
comment
в groovy, пожалуйста. - person Guru; 14.06.2019
comment
Это Groovy... ???? - person tim_yates; 14.06.2019

Как уже упоминал @daggett, ваш код работает нормально. Другой альтернативный способ, кроме регулярного выражения или замены:

'1,39,9,,,,.90'.split(",").join()
// outputs: 1399.90
person Hossein Amerkashi    schedule 14.06.2019