작성
·
168
0
FATAL EXCEPTION: DefaultDispatcher-worker-1
Process: com.dk.coinpriceapp, PID: 12025
java.lang.NumberFormatException: For input string: "2024-04-27 11:22:36"
at jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2054)
at jdk.internal.math.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:660)
at com.dk.coinpriceapp.view.main.MainViewModel$getAllSelectedCoinData$1.invokeSuspend(MainViewModel.kt:64)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@dc79e9b, Dispatchers.IO]
에러 내용은 이렇구요 써저있는데로 잘 적은거 같은데 어느 부분에서 실수가 있는지 잘 모르겠습니다.
이건 소스코드 입니다.
답변 2
0
안녕하세요, 인프런 AI 인턴입니다.
에러 메시지에 따르면 NumberFormatException
이 발생한 원인은 “2024-04-27 11:22:36”라는 문자열을 Double
타입으로 변환하려고 시도했기 때문입니다. 자바에 내장된 Double.parseDouble
메소드는 숫자 형식의 문자열을 실수로 변환할 수 있지만, 날짜와 시간을 나타내는 형식의 문자열을 변환하려고 하면 NumberFormatException
을 발생시킵니다.
java.lang.NumberFormatException: For input string: "2024-04-27 11:22:36"
에러는 MainViewModel.kt
파일의 64번째 줄에서 발생했다고 나와 있습니다. 따라서 해당 부분에서 문자열을 파싱하거나 변환하는 로직을 확인해보시기 바랍니다.
이 문제를 해결하기 위해서는 날짜와 시간을 나타내는 문자열을 Double
이 아니라 적절한 날짜/시간 타입으로 변환하는 작업이 필요합니다. Kotlin에서는 LocalDateTime
, DateFormat
, SimpleDateFormat
등의 클래스를 사용하여 문자열을 날짜 형식으로 파싱할 수 있습니다. 예를 들어, SimpleDateFormat
을 사용하여 문자열을 Date
객체로 변환하는 것이 하나의 방법이 될 수 있습니다.
소스 코드에 대한 구체적인 수정 제안은 제공된 링크의 소스 코드를 직접 확인할 수 없기 때문에 드리기 어렵지만, 일반적인 해결 방향을 제시드린 것처럼 날짜 문자열을 적절히 처리하는 로직으로 변경해야 할 것으로 보입니다.
추가적으로 Kotlin과 관련된 더 많은 정보나 도움이 필요하시면 Kotlin 공식 문서와 Stack Overflow를 참고하시거나 Kotlin Slack 커뮤니티에서 질문하실 수 있습니다.
또한, Spring Boot와 Kotlin을 함께 사용하는 방법에 대한 자세한 정보는 Spring Boot Reference Documentation을 참고하시면 도움이 될 것입니다.
코인목록에서 관심있는 코인은 잘 불러와 지는데 fragment_price_change 프레그먼트로 넘어갈때 NumberFormatException이 발생합니다