double转CString的有关问题
double转CString的问题
double distance;
distance=10.1235456;
calclen.Format( "%f\r\n ",&distance);
file.Open ( "list.txt ",CFile::modeCreate|CFile::modeNoTruncate|CFile::modeWrite);
file.SeekToEnd();
file.WriteString(calclen);
file.close
为啥结果总是0.000000呢 怎么用CString输出double呢?
------解决方案--------------------
calclen.Format( "%f\r\n ",distance);就好了,为什么用&distane呢,因为那是取地址了。假如地址是0x3444这样,那不是0了
------解决方案--------------------
_ecvt
Converts a double number to a string.
#include <stdlib.h>
#include <stdio.h>
void main( void )
{
int decimal, sign;
char *buffer;
int precision = 10;
double source = 3.1415926535;
buffer = _ecvt( source, precision, &decimal, &sign );
printf( "source: %2.10f buffer: '%s ' decimal: %d sign: %d\n ",
source, buffer, decimal, sign );
}
CString strNewString(buffer);
double distance;
distance=10.1235456;
calclen.Format( "%f\r\n ",&distance);
file.Open ( "list.txt ",CFile::modeCreate|CFile::modeNoTruncate|CFile::modeWrite);
file.SeekToEnd();
file.WriteString(calclen);
file.close
为啥结果总是0.000000呢 怎么用CString输出double呢?
------解决方案--------------------
calclen.Format( "%f\r\n ",distance);就好了,为什么用&distane呢,因为那是取地址了。假如地址是0x3444这样,那不是0了
------解决方案--------------------
_ecvt
Converts a double number to a string.
#include <stdlib.h>
#include <stdio.h>
void main( void )
{
int decimal, sign;
char *buffer;
int precision = 10;
double source = 3.1415926535;
buffer = _ecvt( source, precision, &decimal, &sign );
printf( "source: %2.10f buffer: '%s ' decimal: %d sign: %d\n ",
source, buffer, decimal, sign );
}
CString strNewString(buffer);