Відповіді:
Ви можете розібрати рядок у ціле число 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 ;