如何把浮点数转换成字符串?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把浮点数转换成字符串?相关的知识,希望对你有一定的参考价值。

我查到了两个函数可以转换
char *ecvt(double value, int ndigit, int *decpt, int *sign)
char *fcvt(double value, int ndecimals, int *decpt, int *sign)

问题是我用了之后程序不认识ecvt和fcvt这两个函数,头文件放了:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>

可还是不认,这是什么问题啊?

1、首先打开vc6.0,新建一个项目。添加stdio.h头文件。

2、添加stdlib.h头文件。

3、添加main主函数。

4、定义float变量f。

5、定义char 指针类型变量str。

6、使用atof将字符串转换为浮点数。

7、运行程序看看结果。

参考技术A 用sprintf() 就可以了:
例如,float,double 到 char

#include<stdio.h>
#include<stdlib.h>
void main()

float f= 1234.5;
double d= 789.8765;
char sf[20],sd[20];

sprintf(sf,"%f",f); // float 到 char
sprintf(sd,"%lf",d); // double 到 char

printf("%s %s\n",sf,sd); // 打出来看
本回答被提问者采纳
参考技术B 头文件中应该有:
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
参考技术C ltoa,,好像有这么个函数了.

delphi 整型赋值为字节,

InBuf[0]:= $55;
InBuf[1]:= $05;
InBuf[2]:= ;//3330
InBuf[3]:= ;
InBuf[4]:=$AA;
如何将整型的高低位赋值给数组2和三呢,请教高手...

整型数字需要区分32位还是16位,在delphi中,Integer是32位,乃当今绝大多数编译器的缺省理解,SmallInt是16位,从问题描述中,感觉是在使用16位的整数,否则,高低位又有歧义。

方法#1:
uses SysUtils;
...
X : SmallInt;
...
InBuf[2] := WordRec( X ).Bytes[1];
InBuf[3] := WordRec( X ).Bytes[0];

方法#2:
...
X : SmallInt;
...
InBuf[2] := Ord( ( PAnsiChar(@X) + 1 )^ );
InBuf[3] := PByte( @X )^;
如果是Delphi 2009以上,则InBuf[2]的赋值也可简化为InBuf[2]:=( PByte( @X ) + 1 )^;

以上方法是把高位置于InBuf[2],低位置于InBuf[3],若是相反,则办法更简单:PWord( @InBuf[2] )^ := X;
参考技术A integer是32位长度相当于4个字节,你的数组元素2和3加起来是2个字节,所以只能取其中两个字节出来给数组。大概就是如下代码吧:

var m : Integer;
m :=123456;
InBuf[2]:= PByte(integer(@m)+1)^;
InBuf[3]:= PByte(integer(@m)+2)^;

以上是关于如何把浮点数转换成字符串?的主要内容,如果未能解决你的问题,请参考以下文章

在C语言中怎样编写代码实现把浮点数转换成字符串

C 语言 哪个函数可以把 浮点数转换成字符串 带小数点 怎么做

python中怎么把string转换成int

C/C++中字符串与数字相互转换

MATLAB里将十进制负小数转换成十六进制数

51单片机c语言如何把浮点型转为字符串 ?