C++ Builder 參考手冊 ? System::Sysutils ? FloatToText
字符串轉(zhuǎn)為字符串,按照參數(shù)給定的格式
頭文件:#include <System.SysUtils.hpp>
命名空間:System::Sysutils
函數(shù)原型:
int __fastcall FloatToText(
System::WideChar * BufferArg,
const void *Value,
TFloatValue ValueType,
TFloatFormat Format,
int Precision,
int Digits);
int __fastcall FloatToText(char * BufferArg,
const void *Value,
TFloatValue ValueType,
TFloatFormat Format,
int Precision,
int Digits);
int __fastcall FloatToText(
System::WideChar * BufferArg,
const void *Value,
TFloatValue ValueType,
TFloatFormat Format,
int Precision,
int Digits,
const TFormatSettings &AFormatSettings);
int __fastcall FloatToText(
char * BufferArg,
const void *Value,
TFloatValue ValueType,
TFloatFormat Format,
int Precision,
int Digits,
const TFormatSettings &AFormatSettings);
參數(shù):
- BufferArg:用于返回生成的字符串捕虽;
- Value:需要分解的浮點數(shù)慨丐,System::Currency 或者 System::Extended 類型的變量地址;
- ValueType:指定參數(shù) Value 的類型:
? fvExtended:參數(shù) Value 是 System::Extended 類型的泄私;
? fvCurrency:參數(shù) Value 是 System::Currency 類型的房揭; - Format:浮點數(shù)格式:
? ffGeneral:生成盡可能短的字符串,忽略 Digits 參數(shù)晌端;
? ffExponent:使用科學(xué)計數(shù)法捅暴,Digits 為指數(shù)的位數(shù),不是小數(shù)點后保留的位數(shù)咧纠;
? ffFixed:小數(shù)點后保留 Digits 位伶唯;
? ffNumber:小數(shù)點后保留 Digits 位,并且整數(shù)部使用千位分隔符惧盹;
? ffCurrency:使用貨幣型字符串,小數(shù)點后保留 Digits 位瞪讼; - Precision:精度钧椰,保留有效數(shù)字的位數(shù);
- Digits:根據(jù) Format 參數(shù)使用符欠;
- AFormatSettings:地區(qū)格式嫡霞;
返回值:
- 函數(shù)返回生成的字符串的長度,生成的字符串通過參數(shù) BufferArg 返回希柿,
? 文檔并沒有說明 BufferArg 具體需要的字節(jié)數(shù)诊沪,在調(diào)用函數(shù)之前必須已經(jīng)分配足夠的內(nèi)存,可以根據(jù)參數(shù)估計或分配多一點內(nèi)存 (比如 100 個字符長度)曾撤;
? 通過參數(shù) BufferArg 返回的字符串沒有結(jié)束符端姚,根據(jù)源碼的使用情況分析,這個函數(shù)用于連續(xù)輸出字符到緩存挤悉,這樣做可以提高效率渐裸,不要忘記在使用生成的字符串之前要在字符串長度位置加一個結(jié)束符; - char * 類型的 BufferArg 參數(shù)的函數(shù)為過時的 ANSI 版本的函數(shù)装悲,直接使用時可能有警告或報錯昏鹃,已經(jīng)移動到 System.AnsiStrings.hpp 頭文件里面了;
- 其他描述請參考 FloatToStrF
例:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
System::WideChar Buffer[100];
System::Extended Value = -1234.56789;
int n = FloatToText(Buffer, &Value, fvExtended, ffNumber, 8, 3);
Buffer[n] = 0;
Memo1->Lines->Add(Buffer);
}
運(yùn)行結(jié)果:
相關(guān):
- System::Sysutils::FloatToStr
- System::Sysutils::FloatToStrF
- System::Sysutils::FloatToText
- System::Sysutils::FloatToTextFmt
- System::Sysutils::FloatToDecimal
- System::Sysutils::FloatToCurr
- System::Sysutils::TryFloatToCurr
- System::Sysutils::TextToFloat
- System::Sysutils::StrToFloat
- System::Sysutils::StrToFloatDef
- System::Sysutils::TryStrToFloat
- System::Sysutils::StrToCurr
- System::Sysutils::StrToCurrDef
- System::Sysutils::TryStrToCurr
- System::Sysutils::CurrToStr
- System::Sysutils::CurrToStrF
- System::Sysutils::FormatFloat
- System::Sysutils::FormatCurr
- System::Sysutils::TFloatRec
- System::Sysutils::TFloatValue
- System::Sysutils::FormatSettings
- System::Sysutils::TFormatSettings
- System::Sysutils::StrToBool
- System::Sysutils::StrToBoolDef
- System::Sysutils::TryStrToBool
- System::Sysutils::BoolToStr
- System::Sysutils::DateTimeToStr
- System::Sysutils::DateTimeToString
- System::Sysutils::DateToStr
- System::Sysutils::GUIDToString
- System::Sysutils::IntToStr
- System::Sysutils::IntToHex
- System::Sysutils::TimeToStr
- System::Sysutils::UIntToStr
- System::Sysutils
- System::Currency
- System
- std::itoa, std::_itoa, std::_itot, std::_itow
- std::ltoa, std::_ltoa, std::_ltot, std::_ltow
- std::ultoa, std::_ultoa, std::_ultot, std::_ultow
- std::_i64toa, std::_i64tot, std::_i64tow
- std::_ui64toa, std::_ui64tot, std::_ui64tow
- std::ecvt, std::_ecvt
- std::fcvt, std::_fcvt
- std::gcvt, std::_gcvt
- <cstdlib>
C++ Builder 參考手冊 ? System::Sysutils ? FloatToText