Risposte:
Puoi analizzare una stringa in un numero intero con int.parse()
. Per esempio:
var myInt = int.parse('12345');
assert(myInt is int);
print(myInt); // 12345
Nota che int.parse()
accetta 0x
stringhe con prefisso. In caso contrario, l'input viene considerato come base 10.
Puoi analizzare una stringa in un doppio con double.parse()
. Per esempio:
var myDouble = double.parse('123.45');
assert(myDouble is double);
print(myDouble); // 123.45
parse()
genererà FormatException se non è in grado di analizzare l'input.
In Dart 2 è disponibile int.tryParse .
Restituisce null per input non validi invece di lanciare. Puoi usarlo in questo modo:
int val = int.tryParse(text) ?? defaultValue;
Come da dart 2.6
Il onError
parametro facoltativo di int.parse
è deprecato . Pertanto, dovresti usare int.tryParse
invece.
Nota : lo stesso vale per double.parse
. Pertanto, usa double.tryParse
invece.
/**
* ...
*
* The [onError] parameter is deprecated and will be removed.
* Instead of `int.parse(string, onError: (string) => ...)`,
* you should use `int.tryParse(string) ?? (...)`.
*
* ...
*/
external static int parse(String source, {int radix, @deprecated int onError(String source)});
La differenza è che int.tryParse
restituisce null
se la stringa di origine non è valida.
/**
* Parse [source] as a, possibly signed, integer literal and return its value.
*
* Like [parse] except that this function returns `null` where a
* similar call to [parse] would throw a [FormatException],
* and the [source] must still not be `null`.
*/
external static int tryParse(String source, {int radix});
Quindi, nel tuo caso dovrebbe apparire come:
// Valid source value
int parsedValue1 = int.tryParse('12345');
print(parsedValue1); // 12345
// Error handling
int parsedValue2 = int.tryParse('');
if (parsedValue2 == null) {
print(parsedValue2); // null
//
// handle the error here ...
//
}
void main(){
var x = "4";
int number = int.parse(x);//STRING to INT
var y = "4.6";
double doubleNum = double.parse(y);//STRING to DOUBLE
var z = 55;
String myStr = z.toString();//INT to STRING
}
int.parse () e double.parse () possono generare un errore quando non sono in grado di analizzare la stringa
int.parse()
e double.parse()
può generare un errore quando non è in grado di analizzare la stringa. Per favore elabora la tua risposta in modo che gli altri possano imparare e capire meglio il dardo.
puoi analizzare la stringa con int.parse('your string value');
.
Esempio:- int num = int.parse('110011'); print(num); \\ prints 110011 ;