123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #ifndef MYSQL_FLOAT_TO_DOUBLE_H
- #define MYSQL_FLOAT_TO_DOUBLE_H
- #include "main/php.h"
- #include <float.h>
- #include "main/snprintf.h"
- #define MAX_CHAR_BUF_LEN 255
- #ifndef FLT_DIG
- # define FLT_DIG 6
- #endif
- static inline double mysql_float_to_double(float fp4, int decimals) {
- char num_buf[MAX_CHAR_BUF_LEN];
- if (decimals < 0) {
- php_gcvt(fp4, FLT_DIG, '.', 'e', num_buf);
- } else {
- snprintf(num_buf, MAX_CHAR_BUF_LEN, "%.*F", decimals, fp4);
- }
- return zend_strtod(num_buf, NULL);
- }
- #endif
|