首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

跪求:请教下C#这段关于小数点运算的程序段怎么转换为BCB的写法

2012-02-24 
跪求:请问下C#这段关于小数点运算的程序段如何转换为BCB的写法System.Windows.Forms.ButtonbtnTmpdoublei

跪求:请问下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);
}
}

热点排行