【问题标题】:how to round up currency to the nearest 50 cent in java? [duplicate]如何在java中将货币四舍五入到最接近的50美分? [复制]
【发布时间】:2014-12-17 15:46:03
【问题描述】:

我创建了一个简单的 android 货币转换器应用程序,用户在其中输入欧元值,转换后的价格以其他货币显示。 但是如何将数字四舍五入到最接近的 50 美分?所以如果 1 欧元等于 1.3395 美元,我如何让应用程序显示 1.50 美元?

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final EditText editEuro = (EditText) findViewById(R.id.editEuro);
        final EditText editAud = (EditText) findViewById(R.id.editAud);
        final EditText editCad = (EditText) findViewById(R.id.editCad);
        final EditText editNzd = (EditText) findViewById(R.id.editNzd);
        final EditText editGbp = (EditText) findViewById(R.id.editGbp);
        final EditText editUsd = (EditText) findViewById(R.id.editUsd);

        Button buttonConvert = (Button)findViewById(R.id.buttonConvert);

        buttonConvert.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {

                double euro = Double.valueOf( editEuro.getText().toString());

                double aud = euro *  1.4471 ;
                double cad = euro *  1.4635 ;
                double nzd = euro *  1.5835 ;
                double gbp = euro *  0.7965 ;
                double usd = euro *  1.3395 ;

                editAud.setText(String.valueOf(aud));
                editCad.setText(String.valueOf(cad));
                editNzd.setText(String.valueOf(nzd));
                editGbp.setText(String.valueOf(gbp));
                editUsd.setText(String.valueOf(usd));

            }
        });
    }

【问题讨论】:

标签: java android decimal currency


【解决方案1】:

这些东西有code-sn-p。

double value = 1.3395; // your value
double roundTo = 0.5; // number that you round to

value = roundTo * Math.round(value / roundTo);

【讨论】:

    【解决方案2】:

    一种方法是将您的输入乘以 2,将其四舍五入到零小数位,然后除以 2。

    如果您的舍入函数返回整数类型,请注意不要除以整数文字,否则除法将在 整数算术中进行,您将丢失任何分数。将最终结果乘以 0.5 而不是除以 2 将绕过这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-22
      • 1970-01-01
      • 2010-10-27
      • 1970-01-01
      相关资源
      最近更新 更多