У меня есть строка, и мне нужно суммировать, но я не знаю, как!Как преобразовать входную строку в Integer groovy
Как преобразовать строки ввода, как это:
01:20
в Integer для использования в сумме часов и минут?
У меня есть строка, и мне нужно суммировать, но я не знаю, как!Как преобразовать входную строку в Integer groovy
Как преобразовать строки ввода, как это:
01:20
в Integer для использования в сумме часов и минут?
Предполагая, что вы получили вашу строку, определенную в переменной:
String timeStr = '01:00'
Самый короткий путь я могу думать о том, будет выглядеть следующим образом:
timeStr[0..1].toInteger()
Просто для уточнения, выше линии эквивалент:
timeStr.substring(0, 2).toInteger()
Обратите внимание, что разница между указанием индекса 'to'. С ассортиментом Groovy включительно.
Вы можете разобрать, что в Дата использования:
Date.parse('HH:mm', '01:00')
Если вам нужно что-то добавить на к Date
в более позднее время, вы можете сделать:
import groovy.time.*
String time = '01:00'
def duration = use(TimeCategory) {
Date.parse('HH:mm', time) - Date.parse('HH:mm', '00:00')
}
Затем, позже :
use(TimeCategory) {
println new Date() + duration
}
def hours = Date.parse("HH:mm", str).getHours();
Вы правы, но почему бы не использовать более короткую нотацию _property_ и тип String вместо GString, например: 'int hours = Date.parse ('HH: mm', str) .hours' – topr
@topr' "HH: mm "' _is_ a String –
@tim_yates Ну технически это правда, пока не будет '$ {выражение}', используемого между кавычками. Но зачем использовать двойные кавычки, где это не нужно? Конечно, речь идет о кодировании в рамках данного проекта. Я считаю, что чистить не использовать двойные кавычки, когда нет необходимости. Например [Инструмент статического анализа CodeNarc имеет правило] (http://codenarc.sourceforge.net/codenarc-rules-unnecessary.html#UnnecessaryGString), который будет нарушен в таком коде. – topr