我想編寫一個將float轉換爲const char *的C++函數。在這個函數中,傳遞一個參數來指定輸出值應該表示的小數位數。我已經提出了這個功能,它很好地工作。在小數點後的浮點數中設置數字
我想問一下,有沒有更好的方法寫這個函數?
static const char* getString(float value, int decimalPlaces)
{
char strValue[sizeof value];
sprintf(strValue, "%.%df", value, decimalPlaces);
return strValue;
}
'sizeof value'是用來表示'float'的字節數,對於'sprintf'來說可能不夠。您返回一個指向本地數組的指針,該數組的生存期在您可以使用之前結束。 – aschepler