Bagaimana Anda mengurai integer dari string yang mengandung karakter tidak valid nanti? Misalnya, "-01: 00", di mana saya ingin mendapatkan -1, atau "172 apel" di mana saya berharap mendapatkan 172. Dalam JavaScript parseInt ("- 01:00") berfungsi dengan baik tetapi Dart memberikan kesalahan. Apakah ada cara mudah tanpa memeriksa karakter demi karakter secara manual? Terima kasih.
onErrorParameter opsional dari int.parsesudah tidak digunakan lagi . Oleh karena itu, Anda harus menggunakan int.tryParsesebagai gantinya.
Catatan : Hal yang sama berlaku untuk double.parse. Oleh karena itu, gunakan double.tryParsesaja.
/**
* ...
*
* The [onError] parameter is deprecated and will be removed.
* Instead of `int.parse(string, onError: (string) => ...)`,
* you should use `int.tryParse(string) ?? (...)`.
*
* ...
*/
external staticint parse(String source,{int radix, @deprecated int onError(String source)});
Perbedaannya adalah yang int.tryParsemengembalikan nulljika string sumber tidak valid.
/**
* 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 staticint tryParse(String source,{int radix});
Jadi, dalam kasus Anda akan terlihat seperti ini:
// Valid source valueint parsedValue1 =int.tryParse('12345');
print(parsedValue1);// 12345// Error handlingint 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 INTvar y ="4.6";double doubleNum =double.parse(y);//STRING to DOUBLEvar z =55;String myStr = z.toString();//INT to STRING}
int.parse () dan double.parse () bisa membuat kesalahan saat tidak bisa mengurai String
int.parse()dan double.parse()dapat menimbulkan kesalahan jika String tidak dapat diurai. Harap uraikan jawaban Anda agar orang lain dapat belajar dan memahami dart dengan lebih baik.
josxha
1
Terima kasih telah menyebutkannya josxha, saya benar-benar pemula di Dart dan saya mencoba yang terbaik untuk membantu orang lain, Yah, saya pikir itu akan menjadi jawaban yang paling sederhana, terima kasih !!
Rajdeep12345678910
1
Anda dapat mengurai string dengan int.parse('your string value');.
Contoh:- int num = int.parse('110011'); print(num); \\ prints 110011 ;
Jawaban:
Anda dapat mengurai string menjadi integer dengan
int.parse()
. Sebagai contoh:Perhatikan bahwa
int.parse()
menerima0x
string yang diawali. Jika tidak, masukan akan diperlakukan sebagai basis 10.Anda dapat mengurai string menjadi ganda dengan
double.parse()
. Sebagai contoh:parse()
akan menampilkan FormatException jika tidak dapat mengurai input.sumber
Di Dart 2 int.tryParse tersedia.
Ini mengembalikan null untuk input yang tidak valid alih-alih melempar. Anda bisa menggunakannya seperti ini:
sumber
Sesuai anak panah 2.6
onError
Parameter opsional dariint.parse
sudah tidak digunakan lagi . Oleh karena itu, Anda harus menggunakanint.tryParse
sebagai gantinya.Catatan : Hal yang sama berlaku untuk
double.parse
. Oleh karena itu, gunakandouble.tryParse
saja.Perbedaannya adalah yang
int.tryParse
mengembalikannull
jika string sumber tidak valid.Jadi, dalam kasus Anda akan terlihat seperti ini:
sumber
sumber
int.parse()
dandouble.parse()
dapat menimbulkan kesalahan jika String tidak dapat diurai. Harap uraikan jawaban Anda agar orang lain dapat belajar dan memahami dart dengan lebih baik.Anda dapat mengurai string dengan
int.parse('your string value');
.Contoh:-
int num = int.parse('110011'); print(num); \\ prints 110011 ;
sumber