Saya ingin mengurai string seperti "1" atau "32.23" menjadi bilangan bulat dan ganda. Bagaimana saya bisa melakukan ini dengan Dart?
Jawaban:
Anda dapat mengurai string menjadi integer dengan int.parse()
. Sebagai contoh:
var myInt = int.parse('12345');
assert(myInt is int);
print(myInt); // 12345
Perhatikan bahwa int.parse()
menerima 0x
string yang diawali. Jika tidak, masukan akan diperlakukan sebagai basis 10.
Anda dapat mengurai string menjadi ganda dengan double.parse()
. Sebagai contoh:
var myDouble = double.parse('123.45');
assert(myDouble is double);
print(myDouble); // 123.45
parse()
akan menampilkan FormatException jika tidak dapat mengurai input.
Di Dart 2 int.tryParse tersedia.
Ini mengembalikan null untuk input yang tidak valid alih-alih melempar. Anda bisa menggunakannya seperti ini:
int val = int.tryParse(text) ?? defaultValue;
Sesuai anak panah 2.6
onError
Parameter opsional dari int.parse
sudah tidak digunakan lagi . Oleh karena itu, Anda harus menggunakan int.tryParse
sebagai gantinya.
Catatan : Hal yang sama berlaku untuk double.parse
. Oleh karena itu, gunakan double.tryParse
saja.
/**
* ...
*
* 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)});
Perbedaannya adalah yang int.tryParse
mengembalikan null
jika 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 static int tryParse(String source, {int radix});
Jadi, dalam kasus Anda akan terlihat seperti ini:
// 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 () 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.
Anda dapat mengurai string dengan int.parse('your string value');
.
Contoh:- int num = int.parse('110011'); print(num); \\ prints 110011 ;