计算 android 中 edittext 的百分比值

Calculating percentages value of edittext in android

我有代码可以添加多个 edittext 字段的值并在一个字段中显示总计。现在我需要包括另外两个 edittext 字段的百分比计算以及总值。

editTexts = new EditText[] {monthly_rent_et, water_et,eb_et,sewage_et,maint_et,others_et,sec_deposit_et};
    for (int i=0 ; i<editTexts.length ; i++) {
        editTexts[i].setOnFocusChangeListener(mFocusChangeListener);
    }

private View.OnFocusChangeListener mFocusChangeListener = new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
        int total = 0;
        for (int i=0 ; i<editTexts.length-1 ; i++) {

            try {
                total += Integer.valueOf(editTexts[i].getText().toString());
            }
            catch(Exception e) {}
        }
        total_et.setText(total + "");

    }
};

现在我需要计算服务税百分比(月租金值*服务税值)/100 并将其加总。罚款百分比也与服务税相同。 Service tax 和 penalty 是另外两个 edittext 字段,月租已经包含在上面的代码中。我怎样才能得到这个?

假设 service_tax_etpenalty_et 是新的 editTexts,不要将它们添加到数组中,而是手动设置它们 focusChangeListener,然后像这样尝试:

private View.OnFocusChangeListener mFocusChangeListener = new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
    float total = 0;
    for (int i=0 ; i<editTexts.length-1 ; i++) {
        try {
            total += Integer.valueOf(editTexts[i].getText().toString());
        }
        catch(Exception e) {}
    }

    try {
        float service_tax_perc = (Integer.valueOf(monthly_rent_et.getText().toString()) + Integer.valueOf(service_tax_et.getText().toString())) / 100;
        total += service_tax_perc;
    } catch (Exception e) {}

    try {
        float penalty_perc = (Integer.valueOf(monthly_rent_et.getText().toString()) + Integer.valueOf(penalty_et.getText().toString())) / 100;
        total += penalty_perc;
    } catch (Exception e) {}

    total_et.setText(total + "");
}};