C++Builder中除Edit外还有用来输入数字的控件吗?输入Edit任意小数后转换输出,但位数不跟着变,精度差。

 我来答
明快还顽强的纯真
2014-10-29 · TA获得超过1447个赞
知道大有可为答主
回答量:2329
采纳率:66%
帮助的人:682万
展开全部
楼上正解...
一般做这种控件,
最好绑定2个值, 一个UI 显示值, 一个 你存储的实际值.
不管UI接口或者什么的调整显示格式,或者改变输入值, 存储值永远存储数值.
显示值按照你自己需要去按照精度或者格式显示.
追问
我知道用Format ,可以控制输出位数。请问怎样通过判断输入小数的位数,来决定输出小数的位数。比如,做计算器,当计算3.4*4.56时,最后输出2位小数。而当计算3.1*2.1时,只输出1位小数。
追答
有很多方法可以判断你的输入是几位小数啊。
最简单,在用户输入时计数,碰到小数点就统计后面小数为,取最大数(你的逻辑……)

个人觉得*/结果精度都要变得吧?!

制定好自己的规则,管那么多干嘛?!
反正你没几个用户。。。
bhtzu
2014-10-29 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4152万
展开全部
精度不应该通过界面控件来控制,你应该在代码中处理浮点数,并转换成字符串再输出的Edit,这样精度和显示位数就由你自己控制了。
追问
我知道用Format ,可以控制输出位数。请问怎样通过判断输入小数的位数,来决定输出小数的位数。比如,3.4*4.56,最后输入2位小数。而3.1*2.1时,只输出1位小数。
追答

这样的需求,最好在输入端就用字符串接收(保障位数的准确性),之后:

  1. 通过Find之类的函数,确定小数点的位置,并获取字符串的长度,就可知精度。

  2. 转换为浮点数后运算,运算后再转换为字符串,这个可以用Format来控制显示精度了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式