Android java с использованием Eclipse math, я не знаю, почему простая математика дает неверный результат?

#java #android #eclipse #math

#java #Android #eclipse #математика

Вопрос:

У меня есть четыре переменные со следующими значениями (я уверен в их значениях):

 15
100
1
4000
  

Я пытаюсь вывести значения в всплывающее сообщение, но они появляются неправильно.

Вот что я сделал:

 Toast.makeText( TreActivity.this,
                String.valueOf( ((15   100) * 10)   4000 ),
                Toast.LENGTH_SHORT ).show();
  

При тестировании этого в эмуляторе оно отображается как 14150 . Это
неправильно, потому что ((15 100)*10) 4000 = 5150.

Должно быть, мне не хватает чего-то особенного в Android / Java в способе вычисления.

Любая помощь очень ценится!

Комментарии:

1. Если я скопирую ваш код точно так, как вы его записали, в действие, я получу 5150 в своем всплывающем сообщении. Более вероятно, что вы ошибаетесь в содержании своих переменных, независимо от того, насколько вы уверены, тогда эта математика не работает правильно на Android.

2. Это не ваш фактический код или вы делаете что-то еще в коде, который здесь не опубликован. Ошибки нет String.valueOf() , и она выдаст ожидаемый результат.

3. Каков тип ваших переменных?

4. В любом случае, кажется, что вторая переменная равна 1000, а не 100.

Ответ №1:

Не делайте String.valueOf(…) просто попробуйте свои вычисления, а затем в конце поставьте «», чтобы сделать его строкой. Посмотрите, что это дает

Обновить:

Если проблема еще не решена, вам следует попробовать разбить уравнение, чтобы увидеть, в чем проблема. вы должны добавить 100 и 15 вместе и просто положить 150, а затем просто продолжать делать это, пока не увидите, в чем проблема. Возможно, у вас неуместны круглые скобки.

Комментарии:

1. Спасибо за ваш ответ и попытку помочь, но я получил тот же неправильный результат.

2. Нет ничего плохого в использовании valueOf(). «» — это просто ярлык для того же поведения.

3. @GreatDreams — точно, потому что проблема в том, что ваши значения не такие, какими вы их считаете.

4. значения таковы, что я даже передаю это прямо перед строкой кода toast и все равно выдает мне неправильное значение.

5. @BrianRoach — я должен признать. вы были правы, я передал значения, но я забыл одну строку, где я передаю неправильный номер. Спасибо и извините всех, что не проверили больше, прежде чем я спрошу.