我有一个字符串:(66)C++双串显示浮点
然后我将其转换为翻一番,做一些数学:
然后我将其转换回字符串:string s = boost::lexical_cast<string>(hizdegerd)
问题是当我在标签上显示它变成2,20000001。
我试过了一切。 sprintf等
我想在点后只显示一个数字。
hizdegerd = atof(t.c_str())/30;
char buffer [50];
hizdegerd=sprintf (buffer, "%2.2f",hizdegerd);
if(oncekideger != hizdegerd)
{
txtOyunHiz->SetValue(hizdegerd);
oncekideger = hizdegerd;
}
阅读[每个计算机科学家应该知道什么关于浮点运算](http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html) –
今天是浮点算术。 – devnull
即使阅读[this](http://en.wikipedia.org/wiki/Floating_point#Representable_numbers.2C_conversion_and_rounding)可能会有所帮助。 – devnull