הפיכת double ל String ב C

amiti26

New member
הפיכת double ל String ב C

אני רוצה להפוך double ל String בשפת C, הבעיה היא שכשאני עושה את זה וה Double הוא משהו בסגנון 0.001234567 אז ה String יוצא "1234567" יש למישהו פתרון ??
 

DCoder

New member
אני מניח שאתה מתכוון למערך של char

ולא ל-String מ-++C. להלן תוכנית לדוגמא:
#include <stdio.h> int main(int argc, char* argv[]){ char str[50]; double d = 0.001234567; sprintf(str, "%0.9lf", d); printf(str); return 0; }​
 

voguemaster

New member
sprintf

זאת פונקציה רשעית (evil!!!) שצריך לדעתי להיפטר ממנה ובאופן דחוף!! אסור להשתמש בה! לכל המעוניינים, נא להשתמש ב-snprintf.
 

DCoder

New member
מדברייך משתמע שבילית מספר לילות על

גלישת זכרון
 

voguemaster

New member
האמת שלא

כשכתבתי תוכניות תחת חלונות תמיד עבדתי עם הפונקציה הזו וכמעט אף פעם לא היו לי גלישות זיכרון. הבעיה היא אחרת. כששכרו אותי לכתוב שרת, העניינים התחילו להסתבך. אז גיליתי שזאת פשוט הפקרות לא לעבוד עם הגבלות כגון אלו של snprintf. כמובן שבשרתים יש דגש אפילו יותר חשוב על וידוי הנתונים אבל בכלליות תמיד עדיף לכתוב בצורה כזו כדי להימנע מהמון באגים פוטנציאליים..
 
למעלה