int转化为float问题

junqiang521 2006-11-14 10:37:11
在bcb6.0中 ,我想将整数转化为浮点数.小数位数由一个变量控制.
搞了半天没转化成功,真丢脸.求教各位了
...全文
494 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Y___Y 2006-11-14
  • 打赏
  • 举报
回复
见鬼,把double 写成了int
浮点数26.0与26.0000在内存中一摸一样,也就是说整形转换为浮点型保留几位小数毫无意义。
估计lz是说显示几位小数位的意思吧
FFSB 2006-11-14
  • 打赏
  • 举报
回复
看来LZ把浮点小数与定点小数搞混了.
土著巫师 2006-11-14
  • 打赏
  • 举报
回复
楼主是要把整数格式化成浮点数显示吧:

int iValue = 1000;
int iDecimal = 3;

AnsiString strValue = FloatToStrF(iValue, ffGeneral, 15, iDecimal);

要不就是:
int iValue = 1000;
double dValue = (double)iValue; //更简单。:)

浮点数的小数位是随同精度有意义的,如果精度不够,小数位再多也是没有意义的。
wuming19821016 2006-11-14
  • 打赏
  • 举报
回复
int i;
i = StrToInt(Edit1->text);
Edit2->text = FormatFloat("#0.0##",i);
水平有限,试一下
FallenAngel 2006-11-14
  • 打赏
  • 举报
回复
int i = 10;

float f = i / 1.0;

printf("%.2f", f); //1.00
printf("%.1f", f); //1.0
junqiang521 2006-11-14
  • 打赏
  • 举报
回复
回答失败.我要数据大小保持不变
比如26转化为26.0或者26.00
Y___Y 2006-11-14
  • 打赏
  • 举报
回复
double a;
int i=10;
a=(int)i;
土著巫师 2006-11-14
  • 打赏
  • 举报
回复
float __fastcall Int2Float(int iValue, int Decimal)
{
int iRate = 1;

for(int i=0;i<Decimal;i++) iRate *= 10;

return ((float)iValue) / iRate;
}
junqiang521 2006-11-14
  • 打赏
  • 举报
回复
谢谢各位
痞子酷 2006-11-14
  • 打赏
  • 举报
回复
int转化为float问题
--------------
float =int;

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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