Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Mrsuper
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 22
#1

Калькулятор по формуле

29.07.2015, 16:42. Просмотров 1101. Ответов 28
Метки нет (Все метки)

При вводе простых чисел, все прекрасно считает, но при вводе десятичных пишет всегда 0.0. Что посоветуете?
З.Ы. как лучше сделать чтобы был выпадающий список с выбором.
Вот код
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package com.example.andreybib.myapplication;
 
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
 
 
public class MainActivity extends ActionBarActivity {
 
    double a, b, c, d,e,f,g;
    EditText Text1, Text2, Text3;
    TextView Text;
 
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setlocale(0, "");
 
        Text = (TextView) findViewById(R.id.text);
        Text1 = (EditText) findViewById(R.id.EditText01);
        Text2 = (EditText) findViewById(R.id.EditText02);
        Text3 = (EditText) findViewById(R.id.EditText03);
 
        final Button button1 = (Button) findViewById(R.id.button1);
        button1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
 
                try {
                    a = Integer.parseInt(Text1.getText().toString());
                    b = Integer.parseInt(Text2.getText().toString());
                    c = Integer.parseInt(Text3.getText().toString());
 
                } catch (NumberFormatException e) {
                    a = 0;
                    b = 0;
                    c = 0;
                }
                e=0.001*a;
                f=0.001*b;
                g=3.14*c;
 
                d = e*f*g * 7650;
                Text.setText("kg = "+d);
            }
 
 
        });
 
    }
 
    private void setlocale(int i, String s) {
    }
}
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
 
    <EditText
        android:id="@+id/EditText01"
        android:layout_width="fill_parent"
        android:hint="Введите диаметр в мм"
        android:layout_height="wrap_content"
        android:inputType="numberDecimal"
        android:maxLength="10" />
 
    <EditText
        android:id="@+id/EditText02"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="numberDecimal"
        android:hint="Введите стенку в мм "
        android:maxLength="10"
        android:layout_marginTop="15dp"
        android:layout_below="@+id/EditText01"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
 
    <Button
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="="
        android:textSize="30sp"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
 
    <TextView
        android:id="@+id/text"
        android:layout_width="300dp"
        android:layout_height="40dp"
        android:text=""
        android:layout_below="@+id/button1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="15dp" />
 
    <EditText
        android:id="@+id/EditText03"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="Введите длину в м"
        android:inputType="numberDecimal"
        android:maxLength="10"
        android:layout_marginTop="15dp"
        android:layout_below="@+id/EditText02"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"  />
 
 
</RelativeLayout>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2015, 16:42
Ответы с готовыми решениями:

Каждый из интегралов вычислить по формуле прямоугольника, по формуле трапеции и по формуле Симпсона
Каждый из интегралов вычислить по формуле прямоугольника, по формуле трапеции и...

По какой формуле нужно вычислять? по Бернулли или по формуле интеграла Лагранжа?
Всхожесть семян некоторого растения составляет 70% .Какова вероятность того,...

Как преобразовать обычный калькулятор в калькулятор использующий класс стек?
#include &lt;iostream&gt; int main(){ int a = 0; int b = 0; char...

Простой калькулятор и калькулятор с парсингом
Ребят я совсем не давно только начал изучать сишку, решил написать простенький...

Калькулятор
Здраствуйте! У меня к вам такой вопрос нужно чтобы при классе Sin считывался...

28
Vladimirys
312 / 209 / 27
Регистрация: 16.01.2010
Сообщений: 610
31.07.2015, 18:54 #21
ТС, объявил переменные как double парсит как integer. И еще лучше каждую переменную обернуть в индивидуальный try/catch.
Цитата Сообщение от androbro Посмотреть сообщение
вангую что ТС имел ввиду числа с дробной частью
Согласен.
ТС, не вдавался в глубь "математической философии". Десятичное, значит с десятыми долями.))))) Обычное - без таковых.

Не по теме:

Число и число что тут не понятно - обычное.


Не по теме:

А отличить 5 - ку десятичной системы от 5 - ки восьмеричной системы. Нет это не модно. И не креативно, художник, должен творить по вдохновению, а не по каким то там законам, и прочим скучными теориям.:)

0
taras atavin
4204 / 1765 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
31.07.2015, 18:58 #22
Цитата Сообщение от Vladimirys Посмотреть сообщение
ТС, объявил переменные как double парсит как integer. И еще лучше каждую переменную обернуть в индивидуальный try/catch.
Какое это имеет отношение к количеству делителей и системе счисления?

Добавлено через 1 минуту
Цитата Сообщение от Vladimirys Посмотреть сообщение
Десятичное, значит с десятыми долями.))))) Обычное - без таковых.
Что ещё за мифические доли?
0
Vladimirys
312 / 209 / 27
Регистрация: 16.01.2010
Сообщений: 610
31.07.2015, 19:07 #23
Цитата Сообщение от taras atavin Посмотреть сообщение
Какое это имеет отношение к количеству делителей и системе счисления?
А должно иметь?
Цитата Сообщение от taras atavin Посмотреть сообщение
Что ещё за мифические доли?
Вполне себе реальные - http://mthm.ru/arithmetic/decimal-fraction
0
taras atavin
4204 / 1765 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
31.07.2015, 19:29 #24
Какую ещё нерензируемую страницу предложишь? Которая сложение обзовёт складом? Это дроби.

Добавлено через 1 минуту
Цитата Сообщение от Vladimirys Посмотреть сообщение
А должно иметь?
Видимо да, так как проблема у него в том, что не принимаются десятичные числа, а простые в какой другой неизвестной системе считаются правильно. Ну раз в другой системе считаются простые, значит в десятичной форме вводятся составные. А отличаются они количеством делителей. И десятичные от остальных основанием системы счисления.
0
Vladimirys
312 / 209 / 27
Регистрация: 16.01.2010
Сообщений: 610
01.08.2015, 00:15 #25
Цитата Сообщение от taras atavin Посмотреть сообщение
Какую ещё нерензируемую страницу предложишь? Которая сложение обзовёт складом?
Зачем? Все мои ссылки проследуют за первой, как вы сказали "нерензируемую". У меня нет цели, вас в чем то убедить. Я вообще, старюсь никого ни в чем не переубеждать - дело бесполезное, а результат - сомнительный, в лучшем случае, наживешь себе еще одного врага.
Цитата Сообщение от taras atavin Посмотреть сообщение
так как проблема у него в том, что не принимаются десятичные числа, а простые в какой другой неизвестной системе считаются правильно.
Я такой проблемы у ТС, не увидел. У тс, проблема с парсингом, и приведением типов. Да и та, судя по всему благополучно решилась.
0
Mikalai
264 / 240 / 95
Регистрация: 11.01.2015
Сообщений: 670
01.08.2015, 00:42 #26
taras atavin, ведёшь себя как программист-сноб. Глядя на код ТСа, можно понять, что это вторая программа после "hello word"(утрирую), а ты всё усложнить пытаешься. Зачем?
1
androbro
343 / 303 / 68
Регистрация: 17.10.2014
Сообщений: 897
01.08.2015, 11:55 #27
taras atavin, Вы по всей видимости перепутали ветку "Клуб юных любителей математики" с Android
1
Mrsuper
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 22
02.08.2015, 14:41  [ТС] #28
Спасибо ребят, я еще учусь программировать и решил сделать простенький калькулятор.
А в системы счисления лезть для меня пока что большое извращение.
0
taras atavin
4204 / 1765 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
10.08.2015, 06:44 #29
Цитата Сообщение от androbro Посмотреть сообщение
taras atavin, Вы по всей видимости перепутали ветку "Клуб юных любителей математики" с Android
Как раз если бы перепутал, да ещё так, то объяснил бы, как парсить многозначные числа, решив, что под простыми понимаются однозначные. А программист таких ляпов допускать не должен.

Добавлено через 1 минуту
Цитата Сообщение от Mikalai Посмотреть сообщение
Глядя на код ТСа, можно понять, что это вторая программа после "hello word"
Тем более. Я вот хеловод не осилил до сих пор и даже не надеюсь.
0
10.08.2015, 06:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.08.2015, 06:44

Калькулятор на JS
Я сама новичок и мне дали задание написать строчный калькулятор который будет...

Калькулятор
Возможно ли сделать так, чтобы при запуске в edit сразу был 0 ?unit Unit1; ...

Калькулятор
Добрый вечер. Помогите найти ошибку. Написал программу калькулятор, но при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru