Как сравнить две строки, которые представляют числа в C #?

Передайте объект Context в конструктор AsyncTask.

Пример кода:

public class MyTask extends AsyncTask<?, ? ,?> {
    private Context mContext;

    public MyTask(Context context) {
        mContext = context;
    } 
}

, а затем, когда вы создаете свой AsyncTask:

MyTask task = new MyTask(this);
task.execute(...);
1
задан Jason Geiger 18 March 2019 в 15:14
поделиться

2 ответа

Я должен сравнить это и найти самый большой из них.

Вы можете обработать его с помощью BigInteger

BigInteger b1 = BigInteger.Parse("73248723847239847283974283749238");
BigInteger b2 = BigInteger.Parse("98231912938129381290120378988945");

BigInteger result = BigInteger.Max(b1, b2);

преобразовать его в массив чисел и сравнить его суммы но это не очень хорошо со стороны производительности

Примечание: производительность - самая маленькая проблема этого подхода

0
ответ дан fubo 18 March 2019 в 15:14
поделиться

Сделайте его такой же длины с PadLeft () и затем сравните его:

var s1 = "73248723847239847283974283749238";
var s2 = "98231912938129381290120378988945";

s1 = s1.PadLeft(50, '0');
s2 = s2.PadLeft(50, '0');

var compareResult = s1.CompareTo(s2);
0
ответ дан VDN 18 March 2019 в 15:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: