读书人

跪求:请教下C#这段关于小数点运算的程

发布时间: 2012-02-24 16:30:39 作者: rapoo

跪求:请问下C#这段关于小数点运算的程序段如何转换为BCB的写法
System.Windows.Forms.Button btnTmp;
double i;

btnTmp = sender as System.Windows.Forms.Button;
if (btnTmp != null)
{
if (dot == NODOT)
{
// 没有点击小数点
i = double.Parse(btnTmp.Tag.ToString()); //取用户自定义的控件关联数,并转换成double型
tmp = tmp * 10 + i;
txtShow.Text = tmp.ToString(); //将其放入文本显示屏啊
}
else // 点击了小数点
{
dotnum++; //记录小数点部分的个数
// 生成小数部分的新的数值
i = double.Parse(btnTmp.Tag.ToString()) / System.Math.Pow(10,dotnum);
tmp = tmp + i; //将小数点后的值加到当前操做数
txtShow.Text = tmp.ToString();
}
}


[解决办法]
楼主修改的是什么啊?有很多问题吧?
首先。。在c/cpp里,x的n次方不是 "^ ", "^ "是异或操作符,操作x的n次方应该是使用数学函数pow
按照你开始发的代码我大概帮写一下:
由于btnTmp无法确定来源,下面我是根据参数传入的写法:
#include <math.h> //要使用数学函数pow,必须先包含头文件
btnTmp = (TButton*)Sender;
double i;
if(btnTmp != NULL)
{
//这里的 "dot "和 "NODOT "也是没办法确定来源,我照着写出
if(dot == NODOT)
{
i = (double)btnTmp.Tag;
//这里的tmp变量我也不知道来源,不过分析你的要求,tmp应该是个double型变量
tmp = tmp * 10 + i;
txtShow-> Text = FloatToStr(tmp);
}
else
{
dotnum++; //这变量也没找到定义
i = ((double)btnTmp-> Tag) / pow(10,dotnum);
tmp = tmp + i;
txtShow-> Text = FloatToStr(tmp);
}
}

读书人网 >C++ Builder

热点推荐