昨天遇到一个奇怪的问题,就是float->CString时,float值为0.701407,转换为CString类型就变为0.7014068了,代码如下:
znum=((float)aget[z]-average)/standardvariance;
strCol.Format("%f",znum);
原来是Format这个method在搞怪。
首先看Format的声明:
function Format(const Format: string; const Args: array of const):
格式指令具有以下的形式:
"%" [index ":"] ["-"] [width] ["." prec] type
它是以"%"开始,而以type结束,type表示一个具体的类型。中间是用来
格式化type类型的指令字符,是可选的。
其中type中f和g是有区别的
f 对应浮点数
g 这个只能对应浮点型,且它会将值中多余的数去掉
比如将上面代码中的strCol.Format("%f",znum)改为strCol.Format("%g",znum),则就不会输出0.7014068了,会准确输出0.701407
但是为什么type f输出会有差错呢?待续。。。
分享到:
相关推荐
C++ VS2015 CString string int float各种类型转换,MFC对话框实现对各种类型数据转换并显示
CString string char * int double float 之间转化大全 CString、string、char*、int、double、float 是编程中常用的数据类型,了解它们之间的转化关系非常重要。在本文中,我们将详细介绍 CString、string、char* ...
CString可以与其他类型之间进行转化,例如将CString转化为float、double等类型。这些转化可以使用强制转化或者标准库函数来实现。 六、结论 CString和string对象的相互转化问题是非常重要的。了解CString和string...
本篇将深入讲解"Cstring"与其他类型转换的相关知识点,包括VC常用的内置数据类型以及字符串类型如CString、string、char*之间的转换。 一、VC常用数据类型列表 在VC中,基础数据类型包括: 1. boolean:8位,用于...
本文将深入探讨字符数组(char*)与C++中的Cstring之间的转换方法,以及更广泛的几种数据类型(如int、float)与CString之间的转换技巧。这不仅适用于C++程序员,对于任何需要在不同数据类型间进行转换的开发者来说...
// 将浮点数(float)转换成 CString str.Format("%s", test); // 将 char* test 转换成 CString 三、从其它数据类型转换成 CString 可以使用 CString 的构造函数或成员函数 Format 将其它数据类型转换成 CString。...
本文将详细介绍VC中不同数据类型之间转换的方法,特别是`CString`与`char`、`int`、`long`、`string`和`byte`等类型的相互转换。 #### `int`到`CString`的转换 当需要将整型变量转换为`CString`时,可以使用`...
3. **字符串与浮点数转换**:C++提供了`std::stof()`函数,可以将符合浮点数格式的字符串转换为`float`类型。在读取文件内容时,我们需要先读取字符串,然后用`stof()`进行转换。 4. **循环读取文件**:为了读取...
本文将详细介绍如何在`CString`、`std::string`、`char*`、`char[]`、`int`和`float`之间进行转换。 1. `CString`与`std::string`的转换: - `std::string`到`CString`:可以通过调用`c_str()`或`data()`获取`std:...
`CString::Format`函数同样支持不同进制之间的转换,这对于编程中的某些特定场景非常有用。 **3.1 十进制转八进制** ```cpp int num = 255; str.Format(_T("%o"), num); // 结果: "377" // 指定宽度并填充零 str....
#### 五、CString 与 char* 之间的转换 1. **char* 转换为 CString**: ```cpp const char* cStr = "Hello World!"; CString cs(cStr); // 直接构造 ``` 2. **CString 转换为 char***: - 使用 LPCTSTR 强制...
CString与float之间的转换 #### 1.1 CString转为float ```cpp CString strContent = _T("123.45"); float fNum = 0.0f; fNum = atof(strContent); ``` 这里使用了`atof`函数,它能够将一个表示数字的字符串转换成...
`char*` 和 `char` 数组之间的转换 ```cpp char buf[5] = {'a', 'b', 'c'}; char* p; p = new char[5]; p = buf; // 将 `char` 数组的数据复制给 `char*` ``` 这里需要注意的是,`p = buf;` 并不是深拷贝,而是将 `...
- **数学类型与CString相互转化**: - 使用`CString.Format`或`_ttoi`进行转换。 - **CString与char*相互转换**: - 使用`CString::GetBuffer/SetBuffer`。 - 直接赋值,如`char* str = CStringVar;`。 - **...
2. **类型匹配**:确保转换过程中涉及的所有类型都是正确的,比如字节数组与浮点数之间的类型转换。 3. **边界检查**:在读取数据时注意检查数组的边界,避免越界访问导致程序崩溃。 综上所述,在进行16进制数据到...
CString 的 Format 方法给我们进行字符串的转换带来了很大的方便,比如常见的 int、float 和 double 这些数字类型转换为 CString 字符串只需一行代码就可以实现。 1. int 转换为 CString: CString str; int ...
Float可以转换为CString,例如: ```c float f = 0.0; CString str; str.Format("%f", f); ``` 6. CString 转换为 Float CString可以转换为Float,例如: ```c CString str = "0.0"; float f = atof(str.GetBuffer...
本文将详细介绍C++中常见的类型转换,包括IP地址转换、CString类型转换、float、int、double类型转换、string类型转换等。 1. IP地址转换 在C++中,IP地址可以用CString类型来表示。为了将IP地址转换为CString类型...
* CString 转换为 float:可以使用 atof 函数将 CString 转换为浮点数,例如:CString str = "0.0"; float f = atof(str.GetBuffer(0)); 其他类型转换 在 VC 中,还有许多其他类型的转换,例如 char* 转换为 ...