- 318 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/07(日) 12:41:31 ]
- doubleの有効桁は15~16なので>>278を改造して17桁とれば良い。
int compare(double a, double b) { char s1[512], s2[512], *p; snprintf(s1, sizeof(s1), "%.17f", a); if ((p = strchr(s1, '.')) && p[1]) p[2] = 0; snprintf(s2, sizeof(s2), "%.17f", b); if ((p = strchr(s2, '.')) && p[1]) p[2] = 0; return !strcmp(s1, s2); }
|

|