点后 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 位浮点数

AVX 将 64 位整数转换为 64 位浮点数

32位浮点数 表示范围

将 32 位浮点数转换为 16 位 PCM 范围

SSE 内在函数:将 32 位浮点数转换为 UNSIGNED 8 位整数

任何人都可以提供示例代码来演示在 cuda 中使用 16 位浮点数吗?