有没有直接办法将整数显示成带小数的(隐含的小数点)
如 23456 显示成234.56
72418 显示成724.18
这是隐含的小数点,要显示出来
用sprintf(s,"%3.2d",d);却不行。
有没有直接的办法,若没有就只好用串拼接的办法了。
[解决办法]
sprintf(buf,"%d.%.2d",x/100,x%100);
这样才对
[解决办法]
就是,直接除100不就成小数了,这是最简单的了吧。
[解决办法]
AnsiString str="123456";
ShowMessage(str.Insert(".",str.Length()-1));
[解决办法]
sprintf(s,"%.2f",(float)d/100);
[解决办法]
用C++写的
string IntToString(int iValue)
{
static int index=0;
if (iValue < 0)
return "-" + IntToString(-iValue);
if (iValue == 0)
return "";
string str;
str.append(1,'0'+iValue%10);
++index;
if (index == 2)
return IntToString(iValue/10) +"."+ str;
else
return IntToString(iValue/10) + str;
}
如果在BCB里面使用,自己改吧
这个没有处理当位置小于或等于2的时候
如果不行,我不清楚了
[解决办法]
一个sprintf恐怕不好实现。
#include <stdio.h>int d = 23456;int a, b;char sz[32] = { 0 };sprintf(sz, "%d", d);sscanf(sz, "%03d%02d", &a, &b);sprintf(sz, "%03d.%02d", a, b);ShowMessage(sz);