erg_MSDptr = erg_LSDptr; erg_len = 0;\r
var uintD d = 0; // resulting digit\r
var int ch_where = 0; // position of ch inside d\r
- while (len > 0) {\r
+ var uintC min_len = 0; // first non-zero digit\r
+ while (min_len < len && *(const uintB *)(MSBptr+min_len) == '0') {\r
+ ++min_len;\r
+ }\r
+ while (len > min_len) {\r
var uintB ch = *(const uintB *)(MSBptr+len-1); // next character\r
if (ch!='.') { // skip decimal point\r
// Compute value of ch ('0'-'9','A'-'Z','a'-'z'):\r