点后 3 位浮点数
Posted
技术标签:
【中文标题】点后 3 位浮点数【英文标题】:Floating Point with 3 Digits after Point 【发布时间】:2014-09-23 13:46:05 【问题描述】:这是我的点击方法按钮。这里输入 3 个浮点数。计算后我想在点后用 3 位数字显示我的结果。它显示在 3 个文本字段中。我能怎么做 。 ?
public void cal(查看 V) 浮动 dRa,dRb,dRc,z21,z12,z11,z22;
dRa = Float.parseFloat(ra.getText().toString());
dRb = Float.parseFloat(rb.getText().toString());
dRc = Float.parseFloat(rc.getText().toString());
//Result=dRa+dRb+dRc;
z21 = ((dRa*dRb)/(dRa+dRb+dRc));
z11=(dRa*(dRb+dRc)/(dRa+dRb+dRc));
z22=(dRb*(dRa+dRc)/(dRa+dRb+dRc));
Z21.setText("Z21 & Z12 are "+z21);
Z11.setText("Z11' is "+z11);
Z22.setText("Z22' is "+z22);
【问题讨论】:
【参考方案1】:今天刚刚用 2 个小数位数做到了这一点。我是这样做的(虽然我使用的是双精度而不是浮点数)
NumberFormat format = NumberFormat.getNumberInstance();
format.setMinimumFractionDigits(0);
format.setMaximumFractionDigits(3);
Z21.setText(format.format(Z21));
Z11.setText(format.format(Z11));
Z22.setText(format.format(Z22));
【讨论】:
这里显示一些问题 09-23 19:55:10.128: E/androidRuntime(30453): java.lang.IllegalStateException: 无法执行活动的方法 java.lang.IllegalStateException:无法在 android.view.View.performClick(View.java: 4463) 在 android.os.Handler.handleCallback(Handler.java:808) 在 android.os.Handler.dispatchMessage(Handler.java:103) 的 android.view.View$PerformClick.run(View.java:18776) /跨度> 这仍然只是错误堆栈跟踪的一部分...:/ 显示我可以给你看完整的错误框吗?评论框中的字符支持数量有限。 ? 我会检查浮点值是否正常,也许可以尝试用NumberFormat.getInstance()
替换NumberFormat.getNumberInstance()
。如果没有完整的课程代码,我肯定无法分辨以上是关于点后 3 位浮点数的主要内容,如果未能解决你的问题,请参考以下文章
将一个 32 位浮点数转换为两个 16 位 uint 数,然后再次转换回该 32 位浮点数