亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

使用edittext輸出為什么結果有問題?

private RadioButton radio1,radio2;
private Button button;
private TextView text;
??? private RadioGroup rg;
??? private EditText edit;
??? private String str,cal;
??? private double mon;
??? private int choose;
???

??? @Override
??? protected void onCreate(Bundle savedInstanceState) {
??????? super.onCreate(savedInstanceState);
??????? setContentView(R.layout.activity_main);
??????? radio1 = (RadioButton) findViewById(R.id.r1);
??????? radio2 = (RadioButton) findViewById(R.id.r2);
??????? button = (Button) findViewById(R.id.but);
??????? rg = (RadioGroup) findViewById(R.id.rg);
??????? text = (TextView) findViewById(R.id.tv);
??????? edit = (EditText) findViewById(R.id.et);
???????
???????
??????? rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {

@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {

if(R.id.r1==checkedId){
Toast tot1=Toast.makeText(MainActivity.this, "請輸入vip顧客金額", Toast.LENGTH_SHORT);
tot1.setGravity(Gravity.CENTER, 0, 0);
tot1.show();
choose = 1;
cal = radio1.getText().toString();
???
}else if(R.id.r2==checkedId){
str=edit.getText().toString();
Toast tot = Toast.makeText(MainActivity.this, "請輸入普通顧客金額", Toast.LENGTH_SHORT);
tot.setGravity(Gravity.CENTER, 0, 0);
tot.show();
choose = 2;
cal = radio2.getText().toString();
}
}
});
??????? button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
str = edit.getText().toString();
if(choose == 1){
mon = Double.parseDouble(str)*0.8;
}else if(choose == 2){
mon = Double.parseDouble(str);
}
text.setText("類別:"+ cal +"顧客??? "+" 金額:"+mon);
}
});
??? }
??? 586ce8590001e60e03930345.jpg
586ce86b0001109604080373.jpg
586ce8760001931b03970352.jpg
586ce8840001684904120394.jpg
586ce88c00019b3d04030416.jpg

正在回答

1 回答

因為double是浮點型啊,所以后來會以科學計數法的方式顯示,你可以設置格式

DecimalFormat decimalFormat = new DecimalFormat("#,####.00");//格式化設置 ? ? ? ? ?

text.setText("類別:"+ cal +"顧客 ? ?"+" 金額:"+decimalFormat.format(mon));

這樣就不會以科學計數法的方式顯示了,但是,如果輸入數值過大,還是會丟失精度

請看下面

http://img1.sycdn.imooc.com//5874c8cd0001a84103340151.jpg

這個精度還是對的,但是如果再加大,就會丟失了

http://img1.sycdn.imooc.com//5874c9180001231e03300146.jpg

這張圖我有多輸入了一個1,結果金額中個位為0,丟失了精度

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android攻城獅的第二門課(第2季)
  • 參與學習       62382    人
  • 解答問題       217    個

本課程講帶你熟悉Android開發中常用的調試方式,菜單、調試程序

進入課程

使用edittext輸出為什么結果有問題?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號