#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 — я должен признать. вы были правы, я передал значения, но я забыл одну строку, где я передаю неправильный номер. Спасибо и извините всех, что не проверили больше, прежде чем я спрошу.