我有一個字符串:(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