Italian Conversione a int

insoft

Member
Licensed User
Longtime User
Buona giornata uso b4a ma molto da principiante e credo sia la 3 volta che posto una domanda sul forum per cui se sbaglio qualcosa nella forma vi prego di segnalarmelo ma almeno per ora di perdonarmi.

Devo fare una IF come questa "If DateTime.GetDayOfMonth(parsedDate) = (dateText.SubString2(0, 2))" in cui però il primo valore di confronto è un int mentre il secondo chiaramente è una stringa.
Ho cercato sul web, ho guardato anche StringUtils ma sinceramente non ho capito come trasformare "(dateText.SubString2(0, 2))" in un int.

Qualcuno ha la pazienza e la voglia di darmi una dritta.
Grazie.
Massimo
 

Sagenut

Expert
Licensed User
Longtime User
Senza avere un esempio di cosa sia la stringa che elabori è difficile poterti aiutare.
Se la stringa che elabori è già l'INT che vorresti prova così
B4X:
(dateText.SubString2(0, 2).As(Int))
 
Upvote 0

LucaMs

Expert
Licensed User
Longtime User
"If DateTime.GetDayOfMonth(parsedDate) = (dateText.SubString2(0, 2))"
Avresti problemi se dateText iniziasse con "01", ad esempio.
Per fare una cosa "pulita e ordinata", potresti prima effettuare il parsing di dateText, mettendone il valore in una variabile:
B4X:
Dim parsedDateText As Long
parsedDateText = DateTime.DateParse(dateText)
If DateTime.GetDayOfMonth(parsedDate) = DateTime.GetDayOfMonth(parsedDateText) Then
oppure direttamente, benché più "contorto" e più difficile eseguirne il debugging:
B4X:
If DateTime.GetDayOfMonth(parsedDate) = DateTime.GetDayOfMonth(DateTime.DateParse(dateText)) Then
 
Upvote 0
Top