浮点数转成字符串函数gcvt()

  • Post author:
  • Post category:其他


头文件:#include <stdlib.h>

这三个函数都是将数字转化为字符串,简单区别如下:

1.gcvt()所转换后的字符串包含小数点或正负符号

2.ecvt()的转换结果中不包括十进制小数点

3.fcvt()的转换结果中不包括十进制小数点


!!注意在keil中没有该类函数,因此浮点数转字符串可以通过放大浮点数为整形,然后在转换为字符串的方法。


gcvt, _gcvt – 把一个浮点数转成字符串,指定要保留几位有效数字,小数方式或科学计数法,当这些位有效数字无法用小数方式表达时,会变成科学计数法

gcvt, _gcvt:把一个浮点数转成字符串,指定要保留几位有效数字,小数方式或科学计数法,当这些位有效数字无法用小数方式表达时,会变成科学计数法



函数原型:

char *gcvt(double value, int ndec, char *buf);
char *_gcvt(double value, int ndec, char *buf);



头文件:

#include <cstdlib>



命名空间:

std



参数:

value:浮点数

ndec:有效位数,超过这个位数的数据进行四舍五入,不足位数不补 ‘0’

buf:保存转换的结果,必须能够容纳转换结果的字符串 + 结束符



返回值:

返回值:指向 buf 的指针;

buf:转换的结果

value ndec 返回值 说明
123.45678 5 123.46
10 5 10
1.25 5 1.25
-0.987654321 5 -0.98765
-0.987654321 8 -0.98765432
-0.0625 8 -0.0625
0.001 8 0.001
-0.000012345678901 5 -1.2346e-05 使用科学计数法表示的 -1.2346×10-5
1234567890 5 1.2346e+09 使用科学计数法表示的 1.2346×109
-1234567890 5 -1.2346e+09 使用科学计数法表示的 -1.2346×109



例子:

void __fastcall TForm1::Button1Click(TObject *Sender)

{


double v = -0.000012345678901;

char buf[32];

UnicodeString s = gcvt(v, 5, buf);

Memo1->Lines->Add(L”保留 5 位有效数字:” + s);

}



版权声明:本文为liming0931原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。