Eu gostaria de analisar strings como "1" ou "32,23" em inteiros e duplos. Como posso fazer isso com o Dart?
105
Você pode analisar uma string em um inteiro com int.parse()
. Por exemplo:
var myInt = int.parse('12345');
assert(myInt is int);
print(myInt); // 12345
Observe que int.parse()
aceita 0x
strings prefixadas. Caso contrário, a entrada é tratada como base 10.
Você pode analisar uma string em um duplo com double.parse()
. Por exemplo:
var myDouble = double.parse('123.45');
assert(myDouble is double);
print(myDouble); // 123.45
parse()
lançará FormatException se não puder analisar a entrada.
No Dart 2, o int.tryParse está disponível.
Ele retorna nulo para entradas inválidas em vez de lançar. Você pode usá-lo assim:
fonte
De acordo com o dardo 2.6
O
onError
parâmetro opcional deint.parse
está obsoleto . Portanto, você deve usar em seuint.tryParse
lugar.Nota : O mesmo se aplica a
double.parse
. Portanto, usedouble.tryParse
vez disso.A diferença é que
int.tryParse
retornanull
se a string de origem for inválida.Portanto, no seu caso, deve ser semelhante a:
fonte
fonte
int.parse()
edouble.parse()
pode gerar um erro quando não puder analisar a String. Elabore sua resposta para que outras pessoas possam aprender e entender melhor o dardo.você pode analisar string com
int.parse('your string value');
.Exemplo:-
int num = int.parse('110011'); print(num); \\ prints 110011 ;
fonte