UNIXdouble
を使用して値を文字列に変換するときに、特定の問題が 1 つあります。sprintf()
たとえば、次の 2 つの値があります。
double a = 0.009984354523452;
double b = 0.01;
変換中、私は以下を使用しています:
sprintf(somestringvar, "Double value : %.15f \n", a);
sprintf(diffstringvar, "Double value : %.15f \n", b);
文字列に変換します。
私の問題は 'a' に関するもので、値は適切に出力されますが、'b' の値では末尾に 0 が追加されます。「a」と「b」を正確な値として表す一般的な方法を教えてください。