Spodziewam się podwójnej wartości od odpowiedzi, ale czasami wartość int pochodzi z odpowiedzi. Jak sobie z tym poradzić?

double rate = jsonResponse['rate']; //rate may be int from response
return rate.round();
1
rozerro 23 lipiec 2020, 18:52

2 odpowiedzi

Najlepsza odpowiedź

Jest metoda toDouble zarówno dla klasy {x1}}, jak i double, ponieważ oboje dziedziczą, że metoda z klasy num, gdzie ta metoda jest zdefiniowana. Więc możesz zrobić:

double rate = jsonResponse['rate'].toDouble();
return rate.round();

Aby zagwarantować, że nigdy nie doświadczysz problemu.

1
Christopher Moore 23 lipiec 2020, 16:00

W takim przypadku możesz użyć Num Class . Jako dokumentacja stanowi:

Liczba całkowita lub liczba zmiennoprzecinkowa.

W razie potrzeby zawiera metodę round, a także toDouble i toInt.

Więc w twoim przykładzie możesz użyć:

num rate = jsonResponse['rate']; //rate may be int from response
return rate.round();
2
Naslausky 23 lipiec 2020, 16:00