两个textBox互相控制对方数字

蜀雁 2014-08-12 08:30:31
如题,有两个textBox : textBox1和textBox2,现在要求:textBox1的textChanged事件中,Convert.ToDoubel(textBox1.Text) / 13,将此值存入textBox2,要求textBox2中只显示小数后两位;textBox2的textChanged事件中,Convert.ToDouble(textBox2.Text) * 13,同理此值存入textBox1,也只显示小数后两位。请问各路大神,该如何实现,谢谢啦。
...全文
81 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
蜀雁 2014-08-12
  • 打赏
  • 举报
回复
引用 1 楼 yaotomo 的回复:

            double tmp = default(double);
            if (!string.IsNullOrEmpty(textBox1.Text))
            {
                if (double.TryParse(textBox1.Text, out tmp))
                {
                    tmp = Math.Round(tmp,2);
                    textBox2.Text = tmp.ToString()
                }
            }
谢谢,用你的方法解决了。
蜀雁 2014-08-12
  • 打赏
  • 举报
回复
引用 3 楼 Z65443344 的回复:
但是你这样的设计会有个问题: 除法是有误差的 我改了t1的值,然后t2=t1/13,t2改变了,再算t1=t2*13, 这时算出来的t1可能和你输入的不一致
这个无所谓,只在其中一个框中输入。
於黾 2014-08-12
  • 打赏
  • 举报
回复
但是你这样的设计会有个问题: 除法是有误差的 我改了t1的值,然后t2=t1/13,t2改变了,再算t1=t2*13, 这时算出来的t1可能和你输入的不一致
於黾 2014-08-12
  • 打赏
  • 举报
回复
保留两位小数,用double.tostring(".00")即可 反正你最终要显示,必须转字符串
yaotomo 2014-08-12
  • 打赏
  • 举报
回复

            double tmp = default(double);
            if (!string.IsNullOrEmpty(textBox1.Text))
            {
                if (double.TryParse(textBox1.Text, out tmp))
                {
                    tmp = Math.Round(tmp,2);
                    textBox2.Text = tmp.ToString()
                }
            }

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧