|
- static int printFloat(struct _buf *sbuf, float value, int ary, int width, int precision, int pad, int letbase)
- {
- int num;
- int32_t llvalue;
- int iprc;
- uint16_t uipoint_value;
- int i;
- num = 0;
- llvalue = (int32_t) value;
- num += printInt32(sbuf, llvalue, ary, 1, width, pad, letbase);
- printchar(sbuf, '.');
- num += 1;
- if(precision > 4)
- {
- precision = 4;
- }
- iprc = 1;
- for(i = 0; i < precision; i++)
- {
- iprc *= 10;
- }
- value -= llvalue;
- uipoint_value = abs((int16_t)(value * iprc));
- num += printInt16(sbuf, uipoint_value, ary, 0, precision, pad | PAD_ZERO, letbase);
- return num;
- }
复制代码 |
|