gcvt字符串转换函数应用实例
生活随笔
收集整理的這篇文章主要介紹了
gcvt字符串转换函数应用实例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原型:char?*gcvt(double?value,?int?ndigit,?char?*buf);
相關函數?ecvt,fcvt,sprintf
頭文件:stdlib.h
功能:將浮點型數轉換為字符串,取四舍五入,同時返回一個指向字符串的存儲位置的指針的函數
說明:gcvt函數把一個浮點值轉換成一個字符串(包括一個小數點和可能的符號字節)并存儲該字符串在buffer中。該buffer應足夠大以便容納轉換的值加上結尾的空字符('\0'),它是自動添加的。如果一個緩沖區的尺寸為digits的尺寸+1,該函數覆蓋該緩沖區的末尾。這是因為轉換的字符串包括一個小數點以及可能包含符號和指數信息。不提供上溢出。gcvt試圖以十進制格式產生digits數字,如果不可能,它以指數格式產生digits數字,在轉換時可能截除尾部的0。
返回值:返回一個指向結果的存儲位置的指針。
參數:
value:被轉換的值
ndigit:存儲的有效數字位數
#include?<stdlib.h>?? #include?<stdio.h>?? int?main()?? {?? ????double?a?=?12345678.12549;//一供14位數字?? ????char?ptr[128]?=?{0};?? ????int?i?=?0;?? ????for(i?=?1;i?<?15;i++)?? ????{?? ????????gcvt(a,i,ptr);?? ????????printf("a:%f?取%d位轉換后:%s\n",a,i,ptr);?? ????}?? ?? ????double?b?=?0.1234567;//一供8位數字?? ????for(i?=?1;i?<?9;i++)?? ????{?? ????????gcvt(b,i,ptr);?? ????????printf("b:%f?取%d位轉換后:%s\n",b,i,ptr);?? ????}?? ????return?0;?? }??
#include <stdlib.h>
#include <stdio.h>
int main()
{double a = 12345678.12549;//一供14位數字char ptr[128] = {0};int i = 0;for(i = 1;i < 15;i++){gcvt(a,i,ptr);printf("a:%f 取%d位轉換后:%s\n",a,i,ptr);}double b = 0.1234567;//一供8位數字for(i = 1;i < 9;i++){gcvt(b,i,ptr);printf("b:%f 取%d位轉換后:%s\n",b,i,ptr);}return 0;
}運行結果:
buf:結果的存儲位置
應用實例:
[cpp] view plain copy print?
總結
以上是生活随笔為你收集整理的gcvt字符串转换函数应用实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android js 代码混淆工具,好用
- 下一篇: 4加密问题漏洞修复_Apache Shi