Câu trả lời:
Bạn có thể phân tích cú pháp một chuỗi thành một số nguyên với int.parse()
. Ví dụ:
var myInt = int.parse('12345');
assert(myInt is int);
print(myInt); // 12345
Lưu ý rằng int.parse()
chấp nhận các 0x
chuỗi có tiền tố. Nếu không, đầu vào được coi là cơ số 10.
Bạn có thể phân tích cú pháp một chuỗi thành một chuỗi kép với double.parse()
. Ví dụ:
var myDouble = double.parse('123.45');
assert(myDouble is double);
print(myDouble); // 123.45
parse()
sẽ ném FormatException nếu nó không thể phân tích cú pháp đầu vào.
Trong Dart 2 có sẵn int.tryParse .
Nó trả về null cho các đầu vào không hợp lệ thay vì ném. Bạn có thể sử dụng nó như thế này:
int val = int.tryParse(text) ?? defaultValue;
Theo phi tiêu 2,6
Các tùy chọn onError
tham số của int.parse
là bị phản đối . Do đó, bạn nên sử dụng int.tryParse
thay thế.
Lưu ý : Điều tương tự cũng áp dụng cho double.parse
. Do đó, hãy sử dụng double.tryParse
thay thế.
/**
* ...
*
* 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)});
Sự khác biệt là int.tryParse
trả về null
nếu chuỗi nguồn không hợp lệ.
/**
* 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});
Vì vậy, trong trường hợp của bạn, nó sẽ giống như sau:
// 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 () và double.parse () có thể gặp lỗi khi không thể phân tích cú pháp chuỗi
int.parse()
và double.parse()
có thể gặp lỗi khi nó không thể phân tích cú pháp Chuỗi. Vui lòng giải thích rõ hơn về câu trả lời của bạn để những người khác có thể học và hiểu rõ hơn về phi tiêu.
bạn có thể phân tích cú pháp chuỗi với int.parse('your string value');
.
Thí dụ:- int num = int.parse('110011'); print(num); \\ prints 110011 ;