Відповіді:
Ви можете розібрати рядок у ціле число int.parse(). Наприклад:
var myInt = int.parse('12345');
assert(myInt is int);
print(myInt); // 12345
Зверніть увагу, що int.parse()приймає 0xпопередньо встановлені рядки. Інакше вхід трактується як базовий-10.
Ви можете розібрати рядок у подвійне с double.parse(). Наприклад:
var myDouble = double.parse('123.45');
assert(myDouble is double);
print(myDouble); // 123.45
parse() викине FormatException, якщо він не зможе розібрати вхід.
У Dart 2 доступний int.tryParse .
Він повертає значення null для недійсних входів замість того, щоб кидати. Ви можете використовувати його так:
int val = int.tryParse(text) ?? defaultValue;
За дартсом 2.6
Додатковий onErrorпараметр int.parseє застарілим . Тому слід використовувати int.tryParseзамість цього.
Примітка : те ж саме стосується і double.parse. Тому використовуйте double.tryParseзамість цього.
/**
* ...
*
* 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)});
Різниця полягає в тому, що int.tryParseповертається, nullякщо вихідний рядок недійсний.
/**
* 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});
Отже, у вашому випадку це повинно виглядати так:
// 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 () і double.parse () можуть видавати помилку, коли не вдалося проаналізувати String
int.parse()і double.parse()може видавати помилку, коли не вдалося проаналізувати рядок. Будь ласка, докладно поясніть свою відповідь, щоб інші могли краще навчитися та зрозуміти дартс.
можна проаналізувати рядок int.parse('your string value');.
Приклад: - int num = int.parse('110011'); print(num); \\ prints 110011 ;