我已经用Java为Android编写了一个简单的计算器.我将double用作变量.它达到一定的小数位数后,给我的结果以科学计数法表示,尽管小数位数仍有很大的空间.有什么简单的方法可以将科学符号转换为“正常”符号?
我现在可以分别用一个按钮执行-,*和/.输入两个数字以分别在编辑文本中进行计算.我将结果输出到另一个文本字段中.
例如:
如果我将25乘以1’000’000,我得到2.5E7
结果我想得到25’000’000.
我的代码示例如下:
主要活动:
package com.example.rechner;import androID.app.Activity;import androID.os.Bundle;import androID.vIEw.Menu;import androID.vIEw.VIEw;import androID.Widget.EditText;public class MainActivity extends Activity {@OverrIDeprotected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); setRequestedOrIEntation(1);}@OverrIDepublic boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true;}public voID buttonClickDurch (VIEw vIEw) { double zahl1; double zahl2; double Ergebnis; EditText Feld1 = (EditText)findVIEwByID(R.ID.zahl1); EditText Feld2 = (EditText)findVIEwByID(R.ID.zahl2); EditText FeldErgebnis = (EditText)findVIEwByID(R.ID.Ergebnis); if (Feld1.getText().toString().length() == 0) { return; } if (Feld2.getText().toString().length() == 0) { return; } zahl1 = Double.parseDouble(Feld1.getText().toString()); zahl2 = Double.parseDouble(Feld2.getText().toString()); Ergebnis = zahl1 / zahl2; FeldErgebnis.setText(String.valueOf(Ergebnis));}public voID buttonClickPlus (VIEw vIEw) { double zahl1; double zahl2; double Ergebnis; EditText Feld1 = (EditText)findVIEwByID(R.ID.zahl1); EditText Feld2 = (EditText)findVIEwByID(R.ID.zahl2); EditText FeldErgebnis = (EditText)findVIEwByID(R.ID.Ergebnis); if (Feld1.getText().toString().length() == 0) { return; } if (Feld2.getText().toString().length() == 0) { return; } zahl1 = Double.parseDouble(Feld1.getText().toString()); zahl2 = Double.parseDouble(Feld2.getText().toString()); Ergebnis = zahl1 + zahl2; FeldErgebnis.setText(String.valueOf(Ergebnis)); }public voID buttonClickMinus (VIEw vIEw) { double zahl1; double zahl2; double Ergebnis; EditText Feld1 = (EditText)findVIEwByID(R.ID.zahl1); EditText Feld2 = (EditText)findVIEwByID(R.ID.zahl2); EditText FeldErgebnis = (EditText)findVIEwByID(R.ID.Ergebnis); if (Feld1.getText().toString().length() == 0) { return; } if (Feld2.getText().toString().length() == 0) { return; } zahl1 = Double.parseDouble(Feld1.getText().toString()); zahl2 = Double.parseDouble(Feld2.getText().toString()); Ergebnis = zahl1 - zahl2; FeldErgebnis.setText(String.valueOf(Ergebnis)); }public voID buttonClickMal (VIEw vIEw) { double zahl1; double zahl2; double Ergebnis; EditText Feld1 = (EditText)findVIEwByID(R.ID.zahl1); EditText Feld2 = (EditText)findVIEwByID(R.ID.zahl2); EditText FeldErgebnis = (EditText)findVIEwByID(R.ID.Ergebnis); if (Feld1.getText().toString().length() == 0) { return; } if (Feld2.getText().toString().length() == 0) { return; } zahl1 = Double.parseDouble(Feld1.getText().toString()); zahl2 = Double.parseDouble(Feld2.getText().toString()); Ergebnis = zahl1 * zahl2; FeldErgebnis.setText(String.valueOf(Ergebnis));}}
我的activity_main.xml
<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:paddingBottom="@dimen/activity_vertical_margin"androID:paddingleft="@dimen/activity_horizontal_margin"androID:paddingRight="@dimen/activity_horizontal_margin"androID:paddingtop="@dimen/activity_vertical_margin"tools:context=".MainActivity"androID:background="#ABE033" ><TextVIEw androID:ID="@+ID/textVIEw1" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_alignParentleft="true" androID:layout_alignParenttop="true" androID:text="@string/Zahl1" androID:textAppearance="?androID:attr/textAppearanceLarge" /><EditText androID:ID="@+ID/zahl1" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:layout_alignleft="@+ID/textVIEw1" androID:layout_below="@+ID/textVIEw1" androID:ems="10" androID:inputType="numberDecimal" /><TextVIEw androID:ID="@+ID/textVIEw2" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_alignleft="@+ID/zahl1" androID:layout_below="@+ID/zahl1" androID:text="@string/Zahl2" androID:textAppearance="?androID:attr/textAppearanceLarge" /><EditText androID:ID="@+ID/zahl2" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:layout_alignleft="@+ID/textVIEw2" androID:layout_below="@+ID/textVIEw2" androID:layout_margintop="11dp" androID:ems="10" androID:inputType="numberDecimal" /><EditText androID:ID="@+ID/Ergebnis" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:layout_alignleft="@+ID/zahl2" androID:layout_below="@+ID/zahl2" androID:inputType="numberDecimal" androID:ems="10" /> <button androID:ID="@+ID/buttonplus" androID:layout_wIDth="50dp" androID:layout_height="50dp" androID:onClick="buttonClickPlus" androID:text="@string/Plus" androID:layout_alignleft="@+ID/Ergebnis" androID:layout_centerVertical="true"/> <button androID:ID="@+ID/buttondurch" androID:layout_wIDth="50dp" androID:layout_height="50dp" androID:layout_marginRight="12dp" androID:onClick="buttonClickDurch" androID:text="@string/Durch" androID:layout_alignBaseline="@+ID/buttonmal" androID:layout_alignBottom="@+ID/buttonmal" androID:layout_alignRight="@+ID/Ergebnis"/> <button androID:ID="@+ID/buttonmal" androID:layout_wIDth="50dp" androID:layout_height="50dp" androID:layout_alignBaseline="@+ID/buttonminus" androID:layout_alignBottom="@+ID/buttonminus" androID:layout_toleftOf="@+ID/buttondurch" androID:onClick="buttonClickMal" androID:text="@string/Mal" /> <button androID:ID="@+ID/buttonminus" androID:layout_wIDth="50dp" androID:layout_height="50dp" androID:layout_alignBaseline="@+ID/buttonplus" androID:layout_alignBottom="@+ID/buttonplus" androID:layout_toRightOf="@+ID/buttonplus" androID:onClick="buttonClickMinus" androID:text="@string/Minus" /></relativeLayout>
和我的strings.xml
<?xml version="1.0" enCoding="utf-8"?><resources><string name="app_name">Rechner</string><string name="action_settings">Settings</string><string name="hello_world">Hello World!</string><string name="Zahl2">Zahl 2:</string><string name="Durch">:</string><string name="Zahl1">Zahl 1:</string><string name="Plus">+</string><string name="Minus">-</string><string name="Mal">*</string></resources>
解决方法:
例如,如果您希望双精度显示两个小数,则可以使用:
NumberFormat formatter = new DecimalFormat("#0.00"); System.out.println(formatter.format(4.0));
总结 以上是内存溢出为你收集整理的科学记数法android java全部内容,希望文章能够帮你解决科学记数法android java所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)