C언어 float를 char*로 변환

Jmnote (토론 | 기여)님의 2019년 5월 12일 (일) 19:43 판

1 개요

C언어 float를 char*로 변환
#define _GNU_SOURCE
#include<stdio.h>
char* float2charp(float f) {
    char* s = "";
    asprintf(&s, "%g", f);
    return s;
}
int main() {
    printf("%s\n", float2charp(0)); // 0
    printf("%s\n", float2charp(3)); // 3
    printf("%s\n", float2charp(-3)); // -3
    printf("%s\n", float2charp(3.14159)); // 3.14159
    printf("%s\n", float2charp(-3.14159)); // -3.14159
}
#define _GNU_SOURCE
#include<stdio.h>
char* float2charp(float f, int point) {
    char* format = "";
    asprintf(&format, "%%.%df", point);
    char* s = "";
    asprintf(&s, format, f);
    return s;
}
int main() {
    printf("%s\n", float2charp(0,3)); // 0.000
    printf("%s\n", float2charp(3,3)); // 3.000
    printf("%s\n", float2charp(-3,3)); // -3.000
    printf("%s\n", float2charp(3.14159,3)); // 3.142
    printf("%s\n", float2charp(-3.14159,3)); // -3.142
}

2 같이 보기

3 참고

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}