Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Mrsuper
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 22
#1

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

29.07.2015, 16:42. Просмотров 881. Ответов 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>
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vladimirys
297 / 194 / 21
Регистрация: 16.01.2010
Сообщений: 548
31.07.2015, 18:54     Калькулятор по формуле #21
ТС, объявил переменные как double парсит как integer. И еще лучше каждую переменную обернуть в индивидуальный try/catch.
Цитата Сообщение от androbro Посмотреть сообщение
вангую что ТС имел ввиду числа с дробной частью
Согласен.
ТС, не вдавался в глубь "математической философии". Десятичное, значит с десятыми долями.))))) Обычное - без таковых.

Не по теме:

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


Не по теме:

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

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

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

Добавлено через 1 минуту
Цитата Сообщение от Vladimirys Посмотреть сообщение
А должно иметь?
Видимо да, так как проблема у него в том, что не принимаются десятичные числа, а простые в какой другой неизвестной системе считаются правильно. Ну раз в другой системе считаются простые, значит в десятичной форме вводятся составные. А отличаются они количеством делителей. И десятичные от остальных основанием системы счисления.
Vladimirys
297 / 194 / 21
Регистрация: 16.01.2010
Сообщений: 548
01.08.2015, 00:15     Калькулятор по формуле #25
Цитата Сообщение от taras atavin Посмотреть сообщение
Какую ещё нерензируемую страницу предложишь? Которая сложение обзовёт складом?
Зачем? Все мои ссылки проследуют за первой, как вы сказали "нерензируемую". У меня нет цели, вас в чем то убедить. Я вообще, старюсь никого ни в чем не переубеждать - дело бесполезное, а результат - сомнительный, в лучшем случае, наживешь себе еще одного врага.
Цитата Сообщение от taras atavin Посмотреть сообщение
так как проблема у него в том, что не принимаются десятичные числа, а простые в какой другой неизвестной системе считаются правильно.
Я такой проблемы у ТС, не увидел. У тс, проблема с парсингом, и приведением типов. Да и та, судя по всему благополучно решилась.
Mikalai
254 / 230 / 93
Регистрация: 11.01.2015
Сообщений: 649
01.08.2015, 00:42     Калькулятор по формуле #26
taras atavin, ведёшь себя как программист-сноб. Глядя на код ТСа, можно понять, что это вторая программа после "hello word"(утрирую), а ты всё усложнить пытаешься. Зачем?
androbro
319 / 279 / 55
Регистрация: 17.10.2014
Сообщений: 826
01.08.2015, 11:55     Калькулятор по формуле #27
taras atavin, Вы по всей видимости перепутали ветку "Клуб юных любителей математики" с Android
Mrsuper
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 22
02.08.2015, 14:41  [ТС]     Калькулятор по формуле #28
Спасибо ребят, я еще учусь программировать и решил сделать простенький калькулятор.
А в системы счисления лезть для меня пока что большое извращение.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.08.2015, 06:44     Калькулятор по формуле
Еще ссылки по теме:

Android Android, простенький калькулятор
Калькулятор на Android Android
Android Подскажите. Калькулятор Android
Калькулятор и деление на ноль Android
Калькулятор Android

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

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
10.08.2015, 06:44     Калькулятор по формуле #29
Цитата Сообщение от androbro Посмотреть сообщение
taras atavin, Вы по всей видимости перепутали ветку "Клуб юных любителей математики" с Android
Как раз если бы перепутал, да ещё так, то объяснил бы, как парсить многозначные числа, решив, что под простыми понимаются однозначные. А программист таких ляпов допускать не должен.

Добавлено через 1 минуту
Цитата Сообщение от Mikalai Посмотреть сообщение
Глядя на код ТСа, можно понять, что это вторая программа после "hello word"
Тем более. Я вот хеловод не осилил до сих пор и даже не надеюсь.
Yandex
Объявления
10.08.2015, 06:44     Калькулятор по формуле
Ответ Создать тему
Опции темы

Текущее время: 13:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru