答案超过小数点后 2 位后如何显示答案
Posted
技术标签:
【中文标题】答案超过小数点后 2 位后如何显示答案【英文标题】:How to show the answer once the answer is over 2 decimal places 【发布时间】:2013-03-21 05:07:07 【问题描述】:我有一个计算圆锥体积的 Visual Basic 计算器。
我有两个答案,一个以毫米立方为单位,另一个以米立方为单位(四舍五入到最接近的百分之一(2 个小数位))。但我只想在达到 0.01 或更高时显示米的立方。
这是我的计算代码
Private Sub txtSidea_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtHeight.Leave, txtRadius.Leave
'calculate volume cubic mm using V= 1/3 pi R*2*H
Const PI As Double = System.Math.PI
lbAnswerlVolumeMM.Text = (1 / 3 * PI * ((Val(txtRadius.Text) ^ 2) * Val(txtHeight.Text))).ToString("#") + " :Cuibic mm"
'calculate volume cubic meter using V= 1/3 pi R*2*H / 10^9
lblAnswerVolumeMetres.Text = ((1 / 3 * PI * ((Val(txtRadius.Text) ^ 2) * Val(txtHeight.Text))) / 10 ^ 9).ToString("#.##") + " :Cubic Metre"
End Sub
一个例子是;高度 50 毫米,半径 30 毫米。这将输出 47124 毫米立方体,这很好。但它没有显示米立方体,所以如果米立方体的答案低于 0.01,我希望它隐藏标签,直到它超过 0.01,然后显示结果。
【问题讨论】:
请分享示例输入和输出 也许检查该值是高于 0.01 还是低于 0.01 并基于此使用不同的计算? 我在想一些类似的事情 Private Sub lblAnswerVolumeMetres(sender As System.Object, e As System.EventArgs) Handles lblAnswerVolumeMetres If lblAnswerVolumeMetres 一个例子是;高度 50 毫米,半径 30 毫米。这将输出 47124 毫米立方体,这很好。但它不显示米立方体,所以如果米立方体的答案低于 0.01,我希望它隐藏标签,直到它超过 0.01,然后显示结果。 【参考方案1】:试试这个:
Private Sub txtSidea_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtHeight.Leave, txtRadius.Leave
'calculate volume cubic mm using V= 1/3 pi R*2*H
Const PI As Double = System.Math.PI
lbAnswerlVolumeMM.Text = (1 / 3 * PI * ((Val(txtRadius.Text) ^ 2) * Val(txtHeight.Text))).ToString("#")
'calculate volume cubic meter using V= 1/3 pi R*2*H / 10^9
lblAnswerVolumeMetres.Text = ((1 / 3 * PI * ((Val(txtRadius.Text) ^ 2) * Val(txtHeight.Text))) / 10 ^ 9).ToString("#.##")
'--Decide which to hide
If lblAnswerVolumeMetres.Text >= 0.01 then
lblAnswerVolumeMetres.Visible = True
lbAnswerlVolumeMM.Visible = False
Else
lblAnswerVolumeMetres.Visible = False
lbAnswerlVolumeMM.Visible = True
End If
'--Shift the description to after the decision is made based on the number.
lblAnswerVolumeMetres.Text &= " :Cubic mm"
lbAnswerlVolumeMM &= " :Cubic Metre"
End Sub
【讨论】:
它可以工作,但是当我在 txtSidea 中输入我的号码时,我得到了这个错误。从字符串“”到类型“Double”的转换无效。 确保按原样复制代码(即,不要在计算音量答案的顶部添加“cubic”文本。它应该可以工作。如果有效,请标记作为答案。以上是关于答案超过小数点后 2 位后如何显示答案的主要内容,如果未能解决你的问题,请参考以下文章